用另一个向量替换向量的一部分

11

我有一个大小为20的向量和一个大小为5的第二个向量。我希望用第二个向量替换第一个向量中的第11-15个元素。我可以通过从第一个向量中删除这些元素并插入第二个向量来实现这一点。是否有另一种方法可以使用assign实现呢?

1个回答

18
你可以使用std::copy
#include <algorithm> // for std::copy

std::copy(src.begin(), src.end(), dst.begin()+10);

其中src是长度为5的向量,而dst是长度为20的向量。


2
@RichardJohnson 我刚刚注意到我误读了你的问题,所以我把复制的方向搞错了。我已经修正了。 - juanchopanza
是的,但足够接近以便找出其余部分。 - Richard Johnson
我在想,复制到元素难道不应该首先释放吗? - Mateusz Wojtczak
1
@user3655463 这取决于你的意思,因为你绝对不会free()向量元素。 - Quentin
1
@user3655463 std::copy使用赋值运算符,因此没有需要释放的资源。 - kmdreko

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接