对于我的CS类,我有一个变量const int m_vin,在我的代码中,我需要编辑这个值。我的印象是const变量是不能编辑的。我该怎么做呢?
编辑:以下是m_vin的说明,它是名为Vehicle: m_vin的对象的成员变量,这是一个常量,表示唯一的车辆识别号(不能有两辆车具有相同的m_vin)。
在我的程序中,我需要编辑m_vin;
发布于 2019-10-10 01:57:49
警告:修改这样一个对象的值,无论使用什么技术,都会导致未定义的行为。
您可以使用:
int& ref = const_cast<int&>(m_vin);
ref = <new value>;如果你的电脑坏了,别怪我。
最好将该变量更改为非const变量。
int m_vin;你应该问你的教授/助教,如果期望在代码中修改变量的值,为什么要在那里使用const。这说不通。
发布于 2019-10-10 02:18:00
你没有。
这就是重点所在。
发布于 2019-10-10 02:12:26
“对于我的CS类,我有一个变量const int m_vin,在我的代码中,我需要编辑这个值。”-不要这样做。您将调用未定义的行为。
创建副本。编辑副本。将副本保存回“”。
不要试图修改const变量。尽管该语言为您提供了编写代码的工具,但您的代码将没有良好定义的行为。别干那事。
https://stackoverflow.com/questions/58309690
复制相似问题