6

const std::string &当我需要和 s 一起玩时,我总是更喜欢std::string。但是最近,我突然发现根本没有必要使用const std::string &。对于std::string_view只读字符串会更好,而std::string对于move其他情况(设置字符串字段等)会更好。

// Read-only string example
bool foo(std::string_view bar) {
    return bar == "baz";
}
// Non read-only string example
void MyClass::foo(std::string bar) {
    this->baz = std::move(bar);
}

以上两种情况,const std::string &都不是最优的!

所以我决定删除所有const std::string &s 并用其中一个替换它们。所以我的问题是:

  1. 会有const std::string &更好的情况吗?
  2. 如果没有,我还需要const std::string &吗?

谢谢你。

4

0 回答 0