将一个向量复制到另一个向量的快速方法

我更喜欢两种方式:

void copyVecFast(const vec<int>& original)

{

vector<int> newVec;

newVec.reserve(original.size());

copy(original.begin(),original.end(),back_inserter(newVec));

}

void copyVecFast(vec<int>& original)

{

vector<int> newVec;

newVec.swap(original);

}

你怎么做呢?

回答:

如果通过引用发送参数,则第二个示例不起作用。你的意思是

void copyVecFast(vec<int> original) // no reference

{

vector<int> new_;

new_.swap(original);

}

那会起作用,但是更简单的方法是

vector<int> new_(original);

以上是 将一个向量复制到另一个向量的快速方法 的全部内容, 来源链接: utcz.com/qa/416979.html

回到顶部