我有一个功能
void foo(string *input) {
string temp = "";
input->swap(&temp);
}
但这似乎不起作用......我想原因是 temp 是一个临时变量,所以当我们离开这个函数时会被取消分配?
的swap()
成员函数std::string
接受引用,而不是指针:
input->swap(temp);
另外,我建议您以标准库的示例为例,并让您的foo()
函数也接受引用而不是指针:
void foo(string& input) {
string temp = "";
input.swap(temp);
}