#include<iostream>
using namespace std;
int main()
{
const int a = 10;
const int * p = &a;
int *q;
q = const_cast<int *>(p);
*q = 20; //fine
cout <<a<<" "<<*p<<" "<<*q<<endl;
cout <<&a<<" "<<p<<" "<<q<<endl;
return 0;
}
运行结果:
10 20 20
002CFAF4 002CFAF4 002CFAF4
const 类型的变量,也叫做常量。
既然是常量,编译器就可以直接用字面值代替变量。
比如:cout<<a<<....
编译器可以直接编译为cout<<10<<...