如果我有两个包含std :: unique_ptr<>的向量,有没有办法将向量b添加到向量a的末尾,从而删除向量b?
例如:
std::unique_ptr<std::vector<int>> a(&someintvector);
std::unique_ptr<std::vector<int>> b(&someotherintvector);
我如何将向量b移动到向量a的末尾?
答案 0 :(得分:5)
您将b
的内容移至a
:
std::move(std::begin(*b), std::end(*b), std::back_inserter(*a));
答案 1 :(得分:3)
将元素移动到a
的另一种方法:
a->insert(a->end(), std::make_move_iterator(b->begin()), std::make_move_iterator(b->end()));