1) 定义和声明的区别:
1. 变量必须且仅能定义一次,声明可以多次。
2. 定义有两种:带初始化式,不带初始化式时也不带extern。
3. 定义为变量分配存储空间,可以指定初始值。
4. 只是声明不是定义:不带初始化式并且带extern。
5. 只有当extern位于函数外部时,才可以含有初始化式。
2) const对象:
1. 常量定义时必须初始化。是左值,但不可修改。
2. 全局作用域定义的const变量:限于文件作用域。
3. extern const 变量:整个程序可以访问。
3) 引用&const引用:
1. 必须在定义引用时进行初始化。
2. 必须用与该引用同类型的对象初始化。
3. 不可将引用绑定到另一个对象。
4. 一行定义多个引用,必须在每个引用标识符前添加“&”符号。
5. 非const引用只能绑定到与该引用同类型的对象。
6. const引用可以绑定到不同但相关的类型的对象或绑定到右值。
7. 引用主要用作函数的形式参数。