指向const变量的指针具有不同的副本[重复]

问题描述 投票:0回答:1

此问题已经在这里有了答案:

我正在使用一个指针来修改const变量值,但它正在创建一个单独的副本,如以下代码的输出所示。

我已经尝试使用C ++在Visual Studio上执行此代码

const int p = 10;
int *pt = (int*)&p;
*pt = 7;
std::cout << *pt << " " << p << std::endl;

我得到的输出为“ 7 10”,所以这里有什么问题吗?

c++ pointers const
1个回答
2
投票

所以这里有什么问题吗?

程序调用未定义的行为。不允许修改const限定的整数。无需担心-丢弃const限定词,或对具有单独7实例的10int的不同对象进行操作。

© www.soinside.com 2019 - 2024. All rights reserved.