【发布时间】:2013-02-05 07:45:31
【问题描述】:
我有两个向量:
std::vector<int> v1, v2;
// Filling v1
...
现在我需要将v1 复制到v2。有什么理由更喜欢
v2 = v1;
到
std::copy (v1.begin(), v1.end(), v2.begin());
(反之亦然)?
【问题讨论】:
-
赋值运算符会做正确的事。你写
copy的方式,如果v1大于v2就会搞砸。 -
如果复制后不需要
v1,您可以只需要v2.swap(v1);。 -
写下你想做的事。如果您想将一个向量分配给另一个向量,请写下。