在这个例子中:
#include <iostream>
#include <vector>
#include <string>
typedef std::vector<std::string> vs;
vs test1()
{
vs strings;
strings.push_back("a");
strings.push_back("b");
strings.push_back("c");
return strings;
}
void test2(vs& strings)
{
strings.push_back("a");
strings.push_back("b");
strings.push_back("c");
}
int main()
{
vs data = test1();
test2(data);
return 0;
}
我测试了两种填充字符串向量的方法。我认为在第一种情况下我们复制向量,在第二种情况下可能会更好,因为我们只给出向量的 ref。那么有什么好办法,副本对电脑来说成本是不是很大?
谢谢你的回答!