const in C/C++
1. const 对象必须初始化,因为一旦创建后值不能改变。 Eg : const int i = GetSize(); // 正确 : 运行时初始化 const int j = 42; // 正确:编译时初始化 j = 33; // 错误:试图向 const 对象写值 const int k; // 错误: k 是一个未经初始化的常量 2.默认状态下, const 对象仅在文件内有效。 若想在多个文件内工作,只在一个文件中定义 const ,而在其他多个文件中声明并使用它。 解决办法,对于 const 变量,不论声明定义都加 extern ,这样只需定义一次即可。 Eg : //file1.cc 定义并初始化一个常量,该常量能被其他文件访问 Extern const int bufSize = fcn(); //file1.h Extern const int bufSize; // 与 file1.cc 中定义的 bufSize 是同一个 3.把引用绑定到 const 对象上,称之为 对常量的引用 Eg1 : const int c = 1024; const int &r1 = c; // 正确 r1 = 42; // 错误: r1 是对常量的引用 int &r2 = c; // 错误:试图让一个非常量引用指向一个常量引用