《C++ Primer》第五版,中文版。145 页。
const int i = 42;//int i = 42; cout << i << endl; const int *p = &i; *const_cast<int *>(p) = 0; cout << i << endl;
const int i = 42; 与 int i = 42;的代码好像是一样的,本人没仔细看。
解决方案
7
编译器编译的时候就知道i是42且不会更改,那么出现i的地方都可以直接用42替换。
不要修改const 变量,引起不必要的麻烦。
不要修改const 变量,引起不必要的麻烦。
14
只在编译期做检查而已,程序运行时没有区别
6
不要纠结各种常量了,这个世界上唯一不变的就是变化。用API WriteProcessMemory还能修改正运行的其它进程的内存里面的所谓常量呢!