什么C++字符串擦除返回*这意味着什么?

blu*_*mmy 4 c++ string erase

所以C++字符串函数

string& erase ( size_t pos = 0, size_t n = npos )
Run Code Online (Sandbox Code Playgroud)

回报*this.那是什么意思?为什么我需要它来返回任何东西?

string name = "jimmy";  
name.erase(0,1);
Run Code Online (Sandbox Code Playgroud)

将擦除j并成为immy,但为什么我需要它返回任何东西?

Luc*_*ore 9

对于方法链接.例如,擦除后,您可以调用==它来检查某些内容:

string name = "jimmy";
bool b = name.erase(0,1) == "immy";
Run Code Online (Sandbox Code Playgroud)


Mat*_*tzi 6

这只是为了方便,例如你可以链接这样的调用:

name.erase(0,1).erase(3,1);
Run Code Online (Sandbox Code Playgroud)

  • 我想为什么会这样做呢?链接 - 擦除 - 用擦?不是一个实际的例子. (2认同)