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

ron*_*nag 7 c++ algorithm move move-semantics c++11

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

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

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

GMa*_*ckG 8

我认为你正在寻找std::move<algorithm>:

std::move(source.begin(), source.begin() + 10,
            std::insert_iterator(dest, dest.end()));
Run Code Online (Sandbox Code Playgroud)

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