vector move element 转移vector中的元素

2020-07-15  本文已影响0人  菜菜子MJ

不保留A中元素,移动B中元素到A,使用C++11,交换后B不知道是什么状态,尽量不要用

A = std::move(B);

不保留A中元素,移动B中元素到A,不使用C++11,交换后B为空

A.swap(B);

保留A中元素,移动B中元素追加到A

A.insert(A.end(),
         std::make_move_iterator(B.begin()),
         std::make_move_iterator(B.end()));

繁琐的做法

A.reserve(A.size()+B.size());
A.emplace_back(std::move(B[i]));
B.clear().
上一篇 下一篇

猜你喜欢

热点阅读