我有一个函数,在这个函数中,我必须修改一个向量的值。 在C++中,将向量作为返回值是一种好的实践吗?
Function 1:
vector<string> RemoveSpecialCharacters(vector<string> words)
{
for (vector<string>::iterator it=words.begin(); it!=words.end(); )
{
if(CheckLength(*it) == false)
{
it = words.erase(it);
}
else{
++it;
}
}//end for
return words;
}
功能 2:
void RemoveSpecialCharacters(vector<string> & words)
{
for (vector<string>::iterator it=words.begin(); it!=words.end(); )
{
if(CheckLength(*it) == false)
{
it = words.erase(it);
}
else{
++it;
}
}//end for
}
v = f(v)
来获得函数2的行为,但你也可以使用v = f(g())
。 - Kerrek SB