在std :: string :: data()的情况下const_cast <char *>(const char *)的行为是否未定义?

时间:2019-10-05 17:01:25

标签: c++ string

我在函数中有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; } 数组而不是字符串。

0 个答案:

没有答案