迭代器
要访问顺序容器和关联容器中的元素,需要通过“迭代器(iterator)”进行。迭代器是一个变量,相当于容器和操纵容器的算法之间的中介。迭代器可以指向容器中的某个元素,通过迭代器就可以读写它指向的元素。从这一点上看,迭代器和指针类似。
迭代器按照定义方式分成以下四种。
正向迭代器,定义方法如下:
容器类名::iterator 迭代器名;
常量正向迭代器,定义方法如下:
容器类名::const_iterator 迭代器名;
反向迭代器,定义方法如下:
容器类名::reverse_iterator 迭代器名;
常量反向迭代器,定义方法如下:
容器类名::const_reverse_iterator 迭代器名;
迭代器用法示例
通过迭代器可以读取它指向的元素,*迭代器名
就表示迭代器指向的元素。通过非常量迭代器还能修改其指向的元素。
迭代器都可以进行++
操作。反向迭代器和正向迭代器的区别在于:
对正向迭代器进行
++
操作时,迭代器会指向容器中的后一个元素;而对反向迭代器进行
++
操作时,迭代器会指向容器中的前一个元素。
下面的程序演示了如何通过迭代器遍历一个 vector 容器中的所有元素。
程序的输出结果是: 0 1 2 3 4 8 6 4 2 0
最后更新于