美文网首页
vector move element 转移vector中的元素

vector move element 转移vector中的元素

作者: 菜菜子MJ | 来源:发表于2020-07-15 16:43 被阅读0次

    不保留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().
    

    相关文章

      网友评论

          本文标题:vector move element 转移vector中的元素

          本文链接:https://www.haomeiwen.com/subject/zakjhktx.html