一个简单的问题 - 哪个更好用于在vector<string>
,back_inserter
或push_back
的末尾添加字符串?主要是,它工作得更快(我正在处理大量数据,所以边际差异实际上很重要)和主要区别是什么?
答案 0 :(得分:8)
这两者并不相同。例如,当您需要将输入迭代器传递给算法时,可以使用std::back_inserter
。在这种情况下,std::vector<std::string>::push_back
不是一个选项。例如
std::vector<std::string> a(100, "Hello, World");
std::vector<std::string> b;
std::copy(a.begin(), a.end(), std::back_inserter(b));