将范围从一个容器移动到另一个容器的最佳方法是什么?

时间:2018-11-29 20:35:37

标签: c++ c++11 move-semantics

这是我的设置:

class C {
public:
    template<typename T>
    void addFrom(T begin, T end){
        std::move(begin, end,
            std::back_inserter(vec));
    }
    std::vector<B> vec;
};
class A {
    C object;
    std::vector<B> vec;
    void passRangeToObject(){
     C.addFrom(std::make_move_iterator(
         vec.rbegin()),  
       std::make_move_iterator(vec.rbegin() 
       +5));
    }
};

运行代码后,将B对象添加到C对象向量中,但不会将它们从A的向量中删除。有什么好的解决办法吗?

0 个答案:

没有答案