我想将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)做。

10-06 04:11