我有一个返回这样一个数组的函数:
vector<string> GetString()
{
vector<string> s;
s.push_back("one");
s.push_back("two");
s.push_back("three");
return s;
}
我这样称呼它:
vector<string> mystrings=GetStrings();
我也可以按如下方式实现:
void GetString(vector<string> & s)
{
s.push_back("one");
s.push_back("two");
s.push_back("three");
}
并以这种方式调用它:
vector<string> mystrings;
GetStrings(mystrings);
哪一个更好?
版本一是否将向量复制到另一个?如果是,那么如果向量很大,它就会很慢。