考虑以下两种将元素附加到向量中的方法
std::vector<int> vi1(10,42), vi2;
vi2.insert(vi2.end(),vi1.begin(),vi1.end());
<OR>
std::copy(vi1.begin(),vi1.end(),std::back_inserter(vi2));
std::copy
版本看起来更干净,我不必输入vi2
两次。但是由于它是一个通用算法,而 insert 是一个成员函数,它可以比它insert
执行得更好std::copy
还是做同样的事情?
我可以对自己进行基准测试,但我必须对每种模板类型的每个向量都进行基准测试。有人已经做过了吗?