我一直在查看C ++文档中的一个函数,该函数可以使用移动语义将一系列元素从一个容器移动到另一个容器。但是,我还没有找到这样的功能。我错过了什么?
如果不复制和使用显式循环,如何执行以下操作?
// Move 10 elements from beginning of source to end of dest
dest.end() <- move(source.begin(), source.begin() + 10)
答案 0 :(得分:8)
我认为您在std::move
中寻找<algorithm>
:
std::move(source.begin(), source.begin() + 10,
std::insert_iterator(dest, dest.end()));
就像std::copy
一样,除了它移动分配而不是复制分配。