c++中关于const的一个小问题

代码如下,不知道为什么明明指针p1指向的地址和&lng相同,但却更改不了lng的值
#include
using namespace std;

int main() {
const long lng=10;
long p1=(long)&lng;
*p1=1000;
cout<<*p1<<endl;
cout<<lng<<endl;
return 0;
}

lng是constt修饰的,它的值不能修改。你的方法只能修改p1。常量值放在常量区。

因为const的值不能被修改。

关于const再去看看吧,它只能被初始化不能被赋值,理解初始化和赋值的区别,然后还有关于它和指针一些问题可以看看http://blog.csdn.net/w_linux/article/details/68062651