1、每个C++程序都包含一个或多个函数,其中一个必须是main函数。操作系统通过调用main来运行C++程序。而且main函数的返回类型必须是int,即整数类型。
2、为代码添加注释时,要注意一个注释不能嵌套在另一个注释之内。
3、#include的两种形式,包含来自标准库的头文件时,使用尖括号< >包围头文件;对于不属于标准库的头文件,则用双引号“ ”包围。
4、C++定义了一套包括算术类型和空类型(void)在内的基本数据类型。其中算术类型包含了字符、整型、布尔值和浮点数。空类型不对应具体的值。
5、当我们赋给无符号类型一个超出它表示范围的值时,结果是初始值对于无符号类型表示数值总数取模后的余数。例如,8比特大小的unsigned char可以表示0 至 255 区间内的值,如果我们赋了区间之外的值,则实际的结果是该值对256取模后所得的余数。因此,把-1 赋给8比特大小的unsigned char 所得的结果是255。
当我们赋给带符号类型一个超出它表示范围的值时,结果是未定义的。
6、当一个算术表达式中既有无符号数又有 int 值时,那个 int 值就会转换成无符号数。把 int 转换成无符号数的过程和把 int 直接赋给无符号变量一样:
unsigned u = 10;
int i = -42;
std::cout<< i+i <<std::endl; //输出-84
std::cout<< u+i<<std::endl; //如果int占32位,输出4294967264
7、可以将整型字面值写作十进制数、八进制数和十六进制数的形式。以0开头的整数代表八进制,以0x 或0X开头的代表十六进制。
8、有单引号括起来的一个字符称为 char 型字面值,双引号括起来的零个或多个字符则构成字符串字面值。编译器在每个字符串的结尾处添加一个空字符(‘\0’),因此字符串字面值的实际长度要比它的内容多1.例如,字面值‘A’表示的就是单独的字符A,而字符串“A”则代表了一个字符数组,该数组包含两个字符:一个是字母A,另一个是空字符。
9、初始化和赋值不是一回事,初始化的含义是创建变量时赋予其一个初始值,而赋值含义是把对象的当前值擦除,一个新值来替代。
10、如果是内置类型的变量未被显示的初始化,它的值有定义的位置决定。定义与任何函数体外的变量被初始化为 0 。建议初始化每一个内置类型的变量。