如何在C++中修改const引用

RKM*_*RKM 0 c++ const

我是C++的新手,我正在尝试修改一些现有的代码.我基本上必须在C++中修改const引用变量.有办法吗?

我想从常量字符串引用中删除子字符串.这显然不起作用,因为id是一个常量引用.修改id的正确方法是什么?谢谢.

const std::string& id = some_reader->Key();
int start_index = id.find("something");
id.erase(start_index, 3);
Run Code Online (Sandbox Code Playgroud)

Mac*_*cke 7

创建字符串的副本并对其进行修改,然后将其设置回来(如果这是您需要的).

std::string newid = some_reader->Key();
int start_index = newid.find("something");
newid.erase(start_index, 3);

some_reader->SetKey(newid); // if required and possible
Run Code Online (Sandbox Code Playgroud)

除非你知道自己在做什么,为什么要这样做并且考虑了所有其他选择,否则应该避免其他路线......在这种情况下,你首先不需要问这个问题.