看看以下功能:
std::string& foo (std::string& s)
{
s.erase(0.s.find_first_not_of(" \f\t\v\r\n");
return s;
}
Run Code Online (Sandbox Code Playgroud)
当一个字符串传入时,它会修改原始字符串吗?当您还要修改原始字符串时,为什么还要返回修改后的字符串?
试图更好地理解为什么某人可能以这种方式编码此功能?好吧有人这样做了所以我被问到为什么我只做以下事情:
std::string mystring = " This is cool";
foo(mystring);
std::cout << mystring << std::endl;
Run Code Online (Sandbox Code Playgroud)
为什么我没有使用返回值?
我想迭代这样的字符串:
string mystr = "13n4w14n3w2s";
Run Code Online (Sandbox Code Playgroud)
我想要提取的是一个地图,如果可能的话,从该字符串,但保持它的顺序.
13 n
4 w
14 n
3 w
2 s
Run Code Online (Sandbox Code Playgroud)
我将在另一个时间点迭代.现在我已经看到了从像"13a"这样的简单字符串中提取值的示例
string str = "13a";
int num;
char dir;
str >> num >> dir;
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到与顶部较长的字符串类似的东西?