1. C++中把负值赋给unsigned是合法,结果是对其求模:把-1赋给8位unsigned,得到255。
2. 默认浮点字面常量值为double型。在字符字面常量前加L得其wchar_t类型的宽字符字面值:L’w’。
3.
cou\
t<<”Hi”<<st\
d::endl;
等价于:
cout<<”hi”<<std::endl;
4. C++是静态类型语言,在编译时会作类型检查,也就是说,操作是否合法实在编译时检查的。
5. 左值可以出现在赋值语句的左边或右边,右值只能出现在右边。
6. 变量就是一个“对象”,即内存中的一个区域。变量的初始化和变量的赋值的区别在于:初始化是创建变量并赋予它初始值,而赋值则是擦除对象的当前值并用新值代替。
7. 内置类型变量的初始化取决于变量“定义”的位置:在函数体内定义的将不进行初始化;在函数体外定义的都初始化为0。
8. 定义与声明:定义用于为变量非配存储空间,也可以指定其初值,一个程序中变量有且仅有一个定义;声明用于向程序表明比变量的类型和名字,可以多次声明一个变量,通过使用关键字extern来实现。定义也是声明。有初始化式的声明是定义,尽管它带有extern关键字。
9. 在全局作用域声明的const变量,定义的是该对象的文件局部变量,只存在于那个文件中,不能被其他文件访问。通过指定const变量为extern就可以在整个程序中访问const对象。
10. class与struct关键字定义类的唯一区别在于默认访问级别:class是private而struct是public。
11. 头文件中不应该有定义,除非一下三种情况:定义类,定义值在编译期就知道的const对象,定义inline函数。