我在函数中有std::string&
个参数,需要访问它的存储空间并用新的字符串对其进行修改。
我一般不知道(不仅仅是std :: string数据)针对const_cast
的{{1}}是否会导致不确定的行为?
例如,它看起来像这样:
const char*
我不能只给字符串分配新值,因为调用函数接受// method 1
void foo(std::string& ref_param)
{
const_cast<char*>(ref_param.data()) = "this is new string";
}
// method 2
void bar(std::string param)
{
foo(param);
}
int main()
{
bar("initial string");
return 0;
}
数组而不是字符串。