当我尝试通过其地址修改const int的值时,我正在学习指针并感到困惑。我不确定它是否有任何实际意义。我只是想了解指针如何适用于const int。这是代码:
const int a = 10;
*((int*)&a) = 20;
cout << a << endl;
cout << *(&a) << endl;
它打印10和20.但我认为它应该打印20和20,因为在第二行,我铸造了&amp; a并修改了它的值。所以a的值应该改变,因为该地址的位模式发生了变化。
我也尝试了以下代码:
int a = 10;
*((int*)&a) = 20;
cout << a << endl;
cout << *(&a) << endl;
按照我的预期打印20和20。我只是不明白const在这种情况下是如何工作的。如果有人能提出任何建议,我真的很感激。