提取矢量的一部分

extracting part of a vector

本文关键字:一部分 提取      更新时间:2023-10-16

哪种是提取向量部分的最佳方法?如果我有

std::vector<int> v1(9);
for(int i = 0; i < 9; i++)
    v1[i] = i + 1;

我需要一个放入

的代码
std::vector<int> v2(2);

V1的第二和第三元素。我必须做一个周期或有最聪明的方法?

使用vector构造函数的迭代形式

尝试一下
 std::vector<int> v2(v1.begin() + 1,v1.begin() + 3);

如果v2已经存在,请使用assign

v2.assign(v1.begin() + 1,v1.begin() + 3);

您可以使用std :: copy(),假设如果要插入从v1到v2开始的第一和第二个元素,则可以使用以下。

std::copy ( v1.begin()+1, ,v1.begin() + 3, v2.begin() );