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

mon*_*ona 3 c++ visual-c++

我需要在向量的末尾插入每次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);
Run Code Online (Sandbox Code Playgroud)

Mar*_*k B 6

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

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