c++ - Back_inserter 或 push_back

标签 c++

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

最佳答案

两者并不等价。您使用 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));

关于c++ - Back_inserter 或 push_back,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15975575/

相关文章:

c++ - 有 Yacc 语法调试器吗?

c++ - 在c++中的特定文本行之间读取文本文件

c++ - 在标准 (C++11) 的哪个地方说余数运算符仅适用于整数类型?

c++ - 什么是右值、左值、x值、左值和右值?

c++ - 使用 Graphviz for Windows 程序可视化函数调用

c++ - 在 Qt Creator 中使用 Locator 查找成员变量

c++ - std::vector 作为 MPI 非阻塞函数的输入缓冲区

用于游戏开发的 C++ 嵌入式脚本语言 - 找不到我喜欢的东西

c++ - 如何使用 Freetype 沿基线对齐字形?

c++ - 输入迭代器的示例,其中 `end()` 实际上表示最后一次?