在C++ 98中,我可以使用std::copy算法复制范围.
std::copy(source.begin(), source.end(), destination.begin());
Run Code Online (Sandbox Code Playgroud)
C++ 0x中是否存在将元素从源移动到目标的算法?或者std::copy以某种方式重载以接受像rvalue迭代器之类的东西 - 是否有这样的事情?
该算法可能如下所示:
#include <utility>
template<class InputIterator, class OutputIterator>
OutputIterator mooove(InputIterator first, InputIterator last, OutputIterator result)
{
for (; first != last; ++first, ++last) *result = std::move(*first);
return result;
}
Run Code Online (Sandbox Code Playgroud)