Back_inserter或push_back

时间:2013-04-12 15:42:24

标签: c++

一个简单的问题 - 哪个更好用于在vector<string>back_inserterpush_back的末尾添加字符串?主要是,它工作得更快(我正在处理大量数据,所以边际差异实际上很重要)和主要区别是什么?

1 个答案:

答案 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));