我使用以下std :: move语法:
std::move(values.begin(), values.end(), dest);
dest
是一个正向输出迭代器,目标容器在values.size()
之后至少有dest
项
问题是,我在一个循环中多次调用它,但dest
似乎是通过副本传递的,因此指向的项dest
每次都被覆盖,而不是被追加
我知道每次都可以使用dest += values.size();
,但为了更好的知识,我可以使用{...}
由于
答案 0 :(得分:7)
dest
迭代器。你可以使用:
dest = std::move(values.begin(), values.end(), dest);
以下是此算法的链接:std::move (algorithm)