C++ 墙角知识

C++ 标准库手册
http://www.cplusplus.com/reference/vector/vector/

extern
如果想声明一个变量就用extern,如
extern int j;
但如果在声明语句中包含了初始化,这么做就抵消了extern的作用,而变成定义了,如
extern int j = 3;
上面这句,因为有初始化的行为,就不是声明了,而是定义。

变量只能被定义一次,但可以被声明多次。

如果在多个文件中,同时使用一个变量,就必须将声明和定义分离。这是定义必须出现在且只能出现在一个文件中,而其他用到该变量的文件,必须对其进行声明。

作用域操作符::的含义是:编译器应从操作符左侧的作用域中寻找右侧那个名字

using std::cin;

string 可变长字符序列
#include < string >
using std::string;

C++标准库一方面对类型提供的操作做了详细的规定,另一方面,对库的实现做出一些性能上的需求。

如果使用等号,实际上执行的是拷贝初始化 如 string s = “fupeng”;
不使用等号,是直接初始化 如: string s2 = “beijing”;

类 既能定义通过函数名调用的操作, 也能定义<<, + 等各种运算符在该类对象上的新含义。

is >> s 字符串以空白分割。
getline(is, s) 从is中读取一行,赋给s, is 是输入流
s.empty();
s.size();
s1+s2 连接

在执行读操作时,string对象会自动忽略开头的空白字符,并从第一个真正的字符开始读起,直到遇见下一处空白为止。

<< 和 >> 都是返回左侧的运算对象,因此可以多个输入输出连写在一起。
方便书写的同时,会增加阅读的难度。

如果要读取一行,用getline(cin, s);
这里出发 getline的那个换行符被 丢掉了。并没有存入s中。

s.size() 的返回类型是 string::size_type ,这是一种配套类型, 体现机器无关性。
string::size_type 是一个无符号类型的值,而且足够放下任何string对象的大小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值