9

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

4

1 回答 1

12

两者不等价。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));
于 2013-04-12T15:45:14.537 回答