[讨论]关于 const,真让人费解
看下面的代码:int main() {
const int a=9;
int *b=const_cast<int*>(&a); //对const取址,a将不会保存在“符号表”里,而是放到栈里,将有地址了
//看下面:
*b=100;
cout<<&a<<endl;
cout<<b<<endl; //a,b的地址是一样的
cout<<a<<endl; //这儿输出的是:9!好,就算是输出“符号表”中的内容,所以 a 的值没有改变
cout<<*b<<endl; //没问题,*b是100
cout<<*&a<<endl; //这儿又对a取址了,还是输出“符号表”里的a吗????输出又是9!
return 0;
}
为什么????
那如何修改 const 的值了?(虽然似乎没必要,但书上说上面的方法行啊)