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().