我想从uint类型的向量v1复制到uint类型的v2。
V1有大约750,000个元素。
选项1:
std::copy(v1.begin(), v1.end(), std::back_inserter(v2));
或
选项2:
v2.resize(v1.size());
std::copy(v1.begin(), v1.end(),v2.begin());
哪个选项会更快?我们不使用c ++ 11。
谢谢!
答案 0 :(得分:5)
你可能太努力了。 : - )
v2.assign(v1.begin(), v1.end());
将正常工作,并根据需要处理调整大小/保留。
答案 1 :(得分:0)
这是一个非常晚的回复,但几年前我做了一些实验并做了一些测量。它们可以在我的博客Copying memory from C to C++ using std::vector上找到。它还列出了其他一些选项,结果可能对其他人有用。