我有一个函数,我必须修改 vector 的值。 在 C++ 中返回 vector 是一个好习惯吗?
功能一:
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
}
最佳答案
您的两个函数用于两个不同的目的。
功能1:作为
remove_copy
工作。它不会修改现有的容器;它会复制并修改它。功能2:作为
remove
。它将修改现有的容器。
关于c++ - 修改vector的元素(按值,按引用)函数C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19678437/