此问题已经在这里有了答案:
我正在使用一个指针来修改const变量值,但它正在创建一个单独的副本,如以下代码的输出所示。
我已经尝试使用C ++在Visual Studio上执行此代码
const int p = 10;
int *pt = (int*)&p;
*pt = 7;
std::cout << *pt << " " << p << std::endl;
我得到的输出为“ 7 10”,所以这里有什么问题吗?
所以这里有什么问题吗?
程序调用未定义的行为。不允许修改const
限定的整数。无需担心-丢弃const
限定词,或对具有单独7
实例的10
或int
的不同对象进行操作。