<分区>
我有一个返回数组的函数,如下所示:
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);
哪个更好?
第一个版本是否将 vector 复制到另一个?如果是,那么如果 vector 很大,它会很慢。