天天看点

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对象会自动忽略开头的空白字符,并从第一个真正的字符开始读起,直到遇见下一处空白为止。

<< 和 >> 都是返回左侧的运算对象,因此可以多个输入输出连写在一起。

方便书写的同时,会增加阅读的难度。

继续阅读