我正在尝试高效地复制一个向量。我看到有两种可能的方法:
std::vector<int> copyVecFast1(const std::vector<int>& original)
{
std::vector<int> newVec;
newVec.reserve(original.size());
std::copy(original.begin(), original.end(), std::back_inserter(newVec));
return newVec;
}
std::vector<int> copyVecFast2(std::vector<int>& original)
{
std::vector<int> newVec;
newVec.swap(original);
return newVec;
}
哪种方法更好,为什么?我正在寻找最高效的解决方案,以避免不必要的复制。