下列代码
const int a = 10;
int *pa;
pa = const_cast<int *>(&a);
*pa = 5;
cout<<a<<endl; //输出10
cout<<*pa<<endl;//输出5
解释:
const int a = 10;
编译器不为a分配空间,只是保存在符号表中,至此a的值永远是10
下列代码
const int a = 10;
int *pa;
pa = const_cast<int *>(&a);
*pa = 5;
cout<<a<<endl; //输出10
cout<<*pa<<endl;//输出5
解释:
const int a = 10;
编译器不为a分配空间,只是保存在符号表中,至此a的值永远是10