“ string ret(v);”是什么意思?在下面的代码中?
char t(char c)
{
return tolower(c);
}
string toLower(const string & v)
{
string ret(v);
transform(ret.begin(), ret.end(), ret.begin(), t);
return ret;
}
答案 0 :(得分:0)
string ret(v);
[...]是什么意思?
这将创建名称为v
的函数自变量ret
的副本。然后通过调用std::transform
更改此副本,并按值返回。
请注意,v
是通过const
限定的引用传递的。在功能内无法更改。这就是为什么要创建一个副本来创建一个可以修改的字符串对象,然后将其返回给调用者的原因。