2017-04-06 6 views
0

std::vectorには、複数のstd::unordered_setが2つあります。しかし、ベクトルの一つは、このように、実行を通じて他の交換されます。コピーすることなくベクターを割り当てる

vector1 = ... 
vector2 = ... 
// some operations 
vector1 = vector2 
vector2 = std::vector<...> 

は、ベクトルの内容をコピーすることなく、これを達成する方法はありますか?

答えて

5

を交換するstd::swapを使用することができます。

vector1 = std::move(vector2); // move vector2 to vector1 
vector2 = std::vector<...>; // move the temporary vector to vector2 
2

あなたはC++ 11には、あなたがそれらをmove assignすることができますので、内容

+0

をしかし、それをコピーベクトル。私は、私が必要としないもので時間を無駄にしないような解決策を探していました。 – Hel

+4

コピーではなくスワップの移動 – Caleth

関連する問題