在容器之间移动一系列元素?

时间:2010-11-09 22:02:25

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

我一直在查看C ++文档中的一个函数,该函数可以使用移动语义将一系列元素从一个容器移动到另一个容器。但是,我还没有找到这样的功能。我错过了什么?

如果不复制和使用显式循环,如何执行以下操作?

// Move 10 elements from beginning of source to end of dest
dest.end() <- move(source.begin(), source.begin() + 10) 

1 个答案:

答案 0 :(得分:8)

我认为您在std::move中寻找<algorithm>

std::move(source.begin(), source.begin() + 10,
            std::insert_iterator(dest, dest.end()));

就像std::copy一样,除了它移动分配而不是复制分配。