vector ——随机访问迭代器 deque——随机访问迭代器 list —— 双向迭代器 set / multiset——双向迭代器 map / multimap——双向迭代器 stack——不支持迭代器 queue——不支持迭代器 实例演练 双向迭代器和随机访问迭代器是最为常用的,因此下面演示这两种迭代器的用法 双向迭代器实例 以list容器为例 void text...
1、不同容器的迭代器 随机访问迭代器:array、vector、deque; 双向迭代器:list、set/multiset、map/multimap; 前向迭代器:forward_list、unordered_map/unordered_multimap、unordered_set/unordered_multiset; 不支持迭代器:stack、queue; 备注:容器适配器stack和queue没有迭代器,他们包含有一些成员函数,可以用来对元素进...
vector 容器的迭代器属于随机访问迭代器:迭代器一次可以移动多个位置。 成员函数: begin() :返回指向容器中第一个元素的正向迭代器;如果是const类型容器,则该函数返回的是常量正向迭代器 end():返回指向容器最后一个元素之后一个位置的正向迭代器;如果是const类型容器,则该函数返回的是常量正向迭代器,通常和begin()...
前向迭代器(Forward Iterators) 前向迭代器提供了更强大的功能,它支持读写操作、递增和递减操作。然而,前向迭代器仍然只能保证单向遍历。常见的使用前向迭代器的容器有vector、list、deque和array等。 双向迭代器(Bidirectional Iterators) 双向迭代器在前向迭代器的基础上增加了对容器中元素的双向遍历能力,即支持向前...
迭代器(iterator),泛型算法操作容器的工具,是连接容器和算法的粘合剂 一、迭代器(iterator) 在介绍STL之前,首先了解一下什么是迭代器。STL中的泛型算法提供了很多可作用于容器类以及数组类上的操作,这些算法与他们想要操作的元素类型无关(int,double,string等)且与容器类独立(vector,list,array等)。很容易想到,泛型...
在C++标准模板库(STL)中,迭代器是一个核心概念,它提供了一种通用、抽象的方式来访问和操作容器中的元素。为了支持不同类型的迭代器,STL引入了一个辅助模板——std::iterator_traits,它定义了迭代器的各种特性。 std::iterator std::iterator是一个模板类,它定义了迭代器的基本类型别名。这些类型别名使得我们可以以...
1.迭代器 迭代器是泛型指针 (1)普通指针可以指向内存中的一个地址 (2)迭代器可以指向容器中的一个位置,本质上就是内存地址 通过重载一些指针相关的运算符,*,指针运算符->,++,–等运算符来支持普通的指针操作,所以迭代器可以看成是一个泛型指针 STL的每一个容器类模板中,都定义了一组对应的迭代器类。
正向迭代器:定义方式为:容器名::iterator,也是最常使用的迭代器类型,代码如下: 代码语言:javascript 复制 #include<iostream>#include<vector>intmain(){std::vector<int>myvector;for(int i=1;i<=5;i++)myvector.push_back(i);std::cout<<"myvector contains:";for(std::vector<int>::iterator it=my...
1、迭代器正向遍历与逆向遍历 2、使用迭代器正向遍历 vector 容器 3、使用迭代器反向遍历 vector 容器 一、 迭代器 iterator 基本原理 1、迭代器 iterator 作用 迭代器作用 :迭代器 iterator 对象 , 可以用于遍历 STL 容器元素 ; 迭代器 对象 类似于 指针 , 指向 STL 容器中的一个特定位置 , 可以通过 * 运...