有关const指针的一个有趣的问题 const指针不const?!
刚看书发现一个问题 于是写了下面代码
int main()
{
int a=1;
const int* p=&a;
cout<<(*p)<<endl;
a=2;
cout<<(*p)<<endl;
return 0;
}
输出结果是
1
2
依我以前的理解 const int* p 声明一个指针p 指向一个不能修改的常量 ,但是以上代码显示, const int* p 指向的内存区域 也是可以改变的!
当然, 如果在上述程序中对*p赋值 编译器马上就报错了
欢迎大家讨论,这种机制应算一个bug?