2.1.1 整型
signed:带符号的,unsigned:无符号的。unsigned 后不加其他类型说明符意味着unsigned int。
signed 最常见的策略是用一位作为符号位。符号位是1,值为负数;符号位是0,值为0或者正数。
C++中,把负值赋给unsigned对象完全是合法的,结果是该负数对该类型的取值个数求模后的值。
2.1.2 浮点型
float 只能保证6位有效数字,double可以保证10位有效数字。
2.3.3 定义对象
初始化包括复制初始化和直接初始化,复制初始化用等号(=),直接初始化用括号。在C++的理解中初始化不是赋值。初始化时创建变量病给他赋予初始值,而赋值则是擦出对象的当前值并用新值代替。
2.4 const限定符
非const变量默认为extern。要使用const变量能够在其他的文件中访问,必须显式的指定为extern。
2.4 const引用
"const引用"的意思是“指向const对象的引用”,类似的“非const引用”表示指向非const类型的引用。
3.2
c标准库头文件命名为name.h,而C++版本则命名为cname,少了后缀.h文件的内容是一样的,只是采用了更适合C++程序的形式。特别地,cname头文件中定义的名字都是定义在命名空间std内,而.h的版本中的名字却是不一样的。
3.3.2
vector中for循环的判断条件用!=而不是用<来测试vector下标值是否越界。C++程序员习惯于优先使用!=而不是<来编写循环判断条件。
4.1.2
在用下边访问元素的时候,vector使用vector::size_type 作为下标的类型,而数组下标的正确类型则是size_t。
4.2.2
把int型变量赋值给指针是非法的,尽管此int型变量值为0,但允许把数值0或在外编译可获得0值得const量付给指针
4.2.4
两个指针减法操作的结果是标准库类型ptrdiff_t的数据。
4.3
C++从C语言继承下来的一种通用结构是C风格字符串,而字符串字面值就是该类型的实例。实际上,C风格字符串不能确切的归结为C语言类型,也不能归结为C++类型,而是以空字符串null结束的字符串数组。
5.8
对指针进行sizeof操作将返回存放指针所需的内存大小。注意,如果是要获取该指针所指向对象的大小,则必须对该指针进行解引用。
5.12
string s;
while(cin>>s)
while循环条件应为bool类型的值,但此时给出的却是istream类类型的值,于是istream类型的值应转化为bool类型。将istream类型转化为bool类型意味着要检验流的状态。最后一次读cin的尝试是成功的,则流的状态将导致上述类型转化为bool类型后获得true值。