我想将char绑定(bind)到字符串,但是我不知道该怎么做:
我的想法是,我有一个函数 void f(char mychar)* ,用于更新 mychar 的值。我想将此更新传递给字符串。
代码必须看起来像:
char* mychar = new char[128];
string mystring;
\\bind mystring with mychar
.....
f(mychar);
std::cout << mychar << std::endl ;
std::cout << mystring << std::endl
并且mychar和mystring返回的值必须相同。
有什么想法吗?
非常感谢。
最佳答案
字符串可以更改其内部缓冲区,因此即使您可以创建一个使用特定缓冲区的字符串,在发生常见突变后,它也可能具有不同的后备缓冲区。
例如,它可以基于 string::reserve(...)
调用重新分配缓冲区。
string::c_str
说
和C++ 98的注释有此警告
您似乎想要f(mychar)
做。