vertor截取操作
vertor动态数组,截取操作是通过头部begin()索引到不大于数组容量的指定位置,返回前后两个迭代器进行截取。原理是用一个新的vertor数组去存放两个迭代器中的元素。
方式一
vector<int> vec_old{1,2,3,4,5,6,7,8};
vector<int>::const_iterator index1= vec_old.begin(); // 返回一个迭代器
vector<int>::const_iterator index2= vec_old.begin() + 4; // 返回一个迭代器
// 截取前4个元素
vector<int> vec_new; // 新的vector存放
vec_new.assign(index1,index2); // [index1,index2) 左闭右开区间
方式二(方式一的简写,等价)
vector<int> vec_old{1,2,3,4,5,6,7,8};
std::vector<int> vec_new(vec_old.begin(), vec_old.begin() + 4); // 截取前4个元素