提取矢量的一部分

Wel*_*len 0 c++ vector

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

std::vector<int> v1(9);

for(int i = 0; i < 9; i++)
    v1[i] = i + 1;
Run Code Online (Sandbox Code Playgroud)

我需要一个放入的代码

std::vector<int> v2(2);
Run Code Online (Sandbox Code Playgroud)

v1的第二和第三个元素.我必须做一个循环还是有一种最聪明的方法?

mat*_*975 5

使用迭代器形式的vector构造函数尝试这个

 std::vector<int> v2(v1.begin() + 1,v1.begin() + 3);
Run Code Online (Sandbox Code Playgroud)

如果v2已经存在使用assign

v2.assign(v1.begin() + 1,v1.begin() + 3);
Run Code Online (Sandbox Code Playgroud)