const详解
const对象
1)const对象必须初始化,因为创建后const对象的值就不能再改变,初始值可以是任意复杂的表达式 c++
const int i = get_size(); //运行时初始化
const int j = 42; //编译时初始化
2)只能在const类型的对象上执行不改变其内容的操作
3)当以编译时初始化的方式定义一个const对象时,编译器将在编译过程中把用到该对象的地方替换成对应值
4)默认状态下,const对象仅在文件内有效。多个文件的同名const对象等同于在不同文件中定义了独立的变量
5)要在多个文件之间共享同一个const对象,需在定义和声明时都加上extern
const的引用(常量引用)
6)不能修改所绑定的对象
7)和非常量引用不同,常量引用可以使用字面值或任意表达式作为初始值(原因:绑定了一个临时量常量)
指针与const
1)所指地址内容不可修改的指针(并不一定要指向常量,只是为了说明无法修改所指的对象) c++ const int *a = &b;
2)const指针(常量指针):不能修改指针,将一直指向一个地址,因此必须初始