1.计算机以比特序列存储数据,每个比特非0即1,类型决定了数据舒展的比特数以及该如何解释这些比特的内容。
2.当我们赋给带符号类型一个超出它表示范围的值时,结果是未定义的。
3.转移序列均以反斜线作为开始。
4.对象是指一块能存储数据并具有某种类型的内存空间,而值指只读的数据。
5.初始化和赋值是两个完全不同的操作,初始化的含义是创建变量时赋予其一个初始值,而赋值的含义是把对象的当前值擦除,而以一个新值来替代。
6.如果我们使用列表初始化且初始化存在丢失风险,则编译器将报错:
long double ld = 3.1415926;
int a{ld}, b ={ld};错误
int c(ld),d =ld;正确
7.如果定义变量时没有指定初值,则变量被默认初始化,默认值到底是什么由变量类型决定。定义于任何函数体之外的变量初始化为0.定义在函数体内部的内置类型将不被初始化。string类规定如果没有指定初值则生成一个空串。
8.为了允许把程序拆分成多个逻辑部分来编写,C++语言支持分离式编译机制,该机制允许将程序分割成若干个文件,每个文件可被独立编译。
9.声明(declaration)使得名字为程序所知,而定义负责创建与名字关联的实体(存储区域)。
10.如果想声明一个变量而非定义它,就在变量名前添加关键字extern,而且不要显式地初始化变量:extern int i; //声明i并没定义
int j;//声明并定义了j
11.任何包含了显式初始化的声明即成为定义:extern //定义
12.变量能且只能被定义一次,但可以被多次声明。
13.C++是一种静态类型(statically typed)语言,其含义是在编译阶段检查类型。
14.变量命名规范:
①标识符要能体现实际含义。
②变量名一般用小写字母,如index,不要使用Index或INDEX。
③用户自定义的类名一般以大写字母开头,如Sales_item。
④如果标识符由多个单词组成,则单词间应有明显区分,如student_loan或studentLoan,不要使用studentloan