不保留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().
网友评论