gpt4 book ai didi

c++ - 是否可以使用数组拷贝来复制 vector 的一部分?

转载 作者:太空狗 更新时间:2023-10-29 19:43:58 30 4
gpt4 key购买 nike

How do you copy the contents of an array to a std::vector in C++ without looping?有一个很好的例子,说明如何简单地将数组的内容复制到 vector 中。

能否使用相同的技术将一个 vector 的一部分复制到另一个 vector 中?

例如

vector<int> v;

// ...v has some number of elements and we're interested in an
// arbitrary number (y) from an arbitrary start point (x)...

vector<int> v2(&v[x], &v[x + y]);

最佳答案

是的,使用迭代器:

vector<int> v2(v.begin() + x, v.begin() + x + y);

如果你愿意,你可以让它更通用一点:

vector<int> v2(std::next(std::begin(v), x), std::next(std::begin(v), x + y));

指针版本(数组对于两个参数都会衰减)首先起作用的原因是指针可以被视为随机访问迭代器。

关于c++ - 是否可以使用数组拷贝来复制 vector 的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17464294/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com