反向迭代器,指向最后一个元素 reverse_iterator rend() 反向迭代器,指向第一个元素之前的位置 iterator insert(iterator i, const T & val) 将val 插入迭代器 i 指向的位置,返回 i iterator insert( iterator i, iterator first, iterator last) 将其他容器上的区间 [first, last) 中的元素插入迭代器 i 指向...
反向迭代器(reverse_iterator)是一种特殊类型的迭代器,用于反向遍历容器中的元素。在vector中,可以通过rbegin()和rend()函数获取反向迭代器。rbegin()返回一个指向vector最后一个元素的反向迭代器,而rend()返回一个指向vector第一个元素前一个位置的反向迭代器。 3. 编写代码实现C++ vector的反向遍历 以下是一个简单...
vector与list的模拟实现,主要是在实现过程中体会模板在编程中的应用,了解C++中迭代器的底层实现机制,因此笔者会将重点内容放在模板应用,迭代器底层实现,反向迭代器,迭代器失效等方面,至于其他的增删查改的功能,大家早已经掌握,此篇文章不在赘述 vector 构造函数 学习vector的过程,我们要重视官方库给我们提供了哪些构造...
迭代器 pos 必须有效且可取消引用。因此,end() 迭代器(有效,但不可取消引用)不能用作的值 pos。first 如果满足以下条件,则不需要取消迭代器 first==last:删除空范围是无操作的。 #include <vector> #include <iostream> int main( ) { std::vector<int> c{0, 1, 2, 3, 4, 5, 6, 7, 8, 9};...
正反向迭代器在vector中的应用是很好理解的 2.4 vector的空间增长问题 注意事项:1、vector在不同环境下的默认扩容速度是不同的,一般是1.5倍或者2倍 2、reverse只负责开辟空间,一般在知道需要多少空间的时候可以调用该函数,省去了扩容的麻烦 3、resize不仅可以扩容,还可以进行初始化来改变size ...
使用反向迭代器 for(vector<string>::reverse_iterator iter = v6.rbegin(); iter != v6.rend(); iter++) { cout<< *iter <<endl; } 5.插入元素 下面的例子,演示了如何使用 insert() 函数向 vector 容器中插入元素。 #include <iostream>#include<vector>#include<array>usingnamespacestd;intmain()...
begin用于获取指向尾元素反向迭代器,end用于获取指向首元素上一位反向迭代器。 代码案例: #include<iostream>#include<vector>usingnamespacestd;intmain(){vector<int>vec({1,2,3,4,5,6,7}); vector<int>::reverse_iterator rit = vec.rbegin();while(rit != vec.rend()) { ...
vector<T>::const_iterator:vector的常量迭代器,只支持读。 vector<T>::reverse_iterator:vector的反向迭代器,支持读写。 vector<T>::const_reverse_iterator:vector的常量反向迭代器,只支持读。 与vector相关的算法: sort:对vector中的元素排序。 binary_search:二分查找vector中的元素。
常量正向迭代器容器类名::const_iterator 迭代器名; 常量反向迭代器容器类名::const_reverse_iterator 迭代器名; 迭代器的使用示例 vector<int> a; vector<int>::iterator pr; for(int i = 0; i < 3; i++) { a.push_back(i); } cout << a.size()<<endl; ...
(4);// 使用迭代器进行遍历打印vector<int>::iterator it = v.begin();while (it != v.end()){cout << *it << " ";++it;}cout << endl;// 使用迭代器进行修改it = v.begin();while (it != v.end()){*it *= 2;++it;}// 使用反向迭代器进行遍历再打印// vector<int>::reverse_...