c++ - 哪个函数更快 push_back,在 C++ 中插入

标签 c++ visual-c++

我需要插入到 vector 的末尾,每次插入 2 个元素。

我想知道执行 vector.insert( iter_first, iter_second) 是否比执行 vector.push_back( first ) 然后执行 vector.push_back( second ) 更快?

也许另一种选择是创建这样的结构:

struct T{int a; int b;};
T t;
t.a = first;
t.b = second;
X.push_back(t);

最佳答案

如果这两个元素在逻辑上相关,那么您将使用结构或类。如果它们不相关,那么出于性能原因肯定不会将它们分组。

这有点过早优化的味道。相反,编写最易于维护的代码,让编译器为您生成代码。这就是它的用途。考虑到易于阅读的代码易于维护,易于维护的代码易于重构,并且不太可能因误解而出现细微的性能错误。

关于c++ - 哪个函数更快 push_back,在 C++ 中插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8081368/

相关文章:

c++ - 隐藏类(class)私有(private)成员的最佳方式

c++ - typedef header 中的定义

c++ - 线程安全数据和线程安全容器

windows - 学习C++(Linux+QtCreator)我应该升级到Windows+VisualC+VisualAssist吗?比较如何?

c++ - 在客户的计算机上搜索特定文件

c++ - 析构函数在 C++ 中是如何工作的

visual-c++ -/OPT :REF 删除的函数中引用的未解析外部符号

c++ - 如何使 Visual Studio C++ 2010 编译行为像 gcc/g++? (或相反亦然)

c++ - 如何在 C++ 应用程序中构建原生 YouTube 播放器?

c++ - 二维数组定义