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个元素
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐