C++ Iterator迭代器介绍及Iterator迭代器用法代码举例
2014-10-21 00:05
429 查看
C++ Iterator迭代器介绍
迭代器可被用来访问一个容器类的所包函的全部元素,其行为像一个指针。举一个例子,你可用一个迭代器来实现对vector容器中所含元素的遍历。有这么几种迭代器如下:
迭代器 描述
input_iterator 提供读功能的向前移动迭代器,它们可被进行增加(++),比较与解引用(*)。
output_iterator 提供写功能的向前移动迭代器,它们可被进行增加(++),比较与解引用(*)。
forward_iterator 可向前移动的,同时具有读写功能的迭代器。同时具有input和output迭代器的功能,并可对迭代器的值进行储存。
bidirectional_iterator 双向迭代器,同时提供读写功能,同forward迭代器,但可用来进行增加(++)或减少(--)操作。
random_iterator 随机迭代器,提供随机读写功能.是功能最强大的迭代器, 具有双向迭代器的全部功能,同时实现指针般的算术与比较运算。
reverse_iterator 如同随机迭代器或双向迭代器,但其移动是反向的。(Either a random iterator or a bidirectional iterator that moves in reverse direction.)
vector容器类就有一个random-access随机迭代器,这也意味着其可以使用随机读写的算法。既然随机迭代器具有全部其它迭代器的特性,这也就是说为其它迭代器设计的算法也可被用在vector容器上。
C++ Iterator迭代器操作举例
(本文由www.169it.com整理)
(1) 每种容器类型都定义了自己的迭代器类型,如vector:
(2) 使用迭代器读取vector中的每一个元素:
只能读取容器中的元素,而不能修改。
(3) iterator的算术操作:
iterator除了进行++,--操作,可以将iter+n,iter-n赋给一个新的iteraor对象。还可以使用一个iterator减去另外一个iterator.
一个很典型使用vector的STL代码:
如下代码对vector容器对象生成和使用了迭代器:
提示:通过对一个迭代器的解引用操作(*),可以访问到容器所包含的元素。
文章转载自:[169IT-最新最全的IT资讯]
本文标题:C++ Iterator迭代器介绍及Iterator迭代器用法代码举例
迭代器可被用来访问一个容器类的所包函的全部元素,其行为像一个指针。举一个例子,你可用一个迭代器来实现对vector容器中所含元素的遍历。有这么几种迭代器如下:
迭代器 描述
input_iterator 提供读功能的向前移动迭代器,它们可被进行增加(++),比较与解引用(*)。
output_iterator 提供写功能的向前移动迭代器,它们可被进行增加(++),比较与解引用(*)。
forward_iterator 可向前移动的,同时具有读写功能的迭代器。同时具有input和output迭代器的功能,并可对迭代器的值进行储存。
bidirectional_iterator 双向迭代器,同时提供读写功能,同forward迭代器,但可用来进行增加(++)或减少(--)操作。
random_iterator 随机迭代器,提供随机读写功能.是功能最强大的迭代器, 具有双向迭代器的全部功能,同时实现指针般的算术与比较运算。
reverse_iterator 如同随机迭代器或双向迭代器,但其移动是反向的。(Either a random iterator or a bidirectional iterator that moves in reverse direction.)
vector容器类就有一个random-access随机迭代器,这也意味着其可以使用随机读写的算法。既然随机迭代器具有全部其它迭代器的特性,这也就是说为其它迭代器设计的算法也可被用在vector容器上。
C++ Iterator迭代器操作举例
(本文由www.169it.com整理)
(1) 每种容器类型都定义了自己的迭代器类型,如vector:
1adcc |
iterator除了进行++,--操作,可以将iter+n,iter-n赋给一个新的iteraor对象。还可以使用一个iterator减去另外一个iterator.
文章转载自:[169IT-最新最全的IT资讯]
本文标题:C++ Iterator迭代器介绍及Iterator迭代器用法代码举例
相关文章推荐
- C++ stl队列Queue用法介绍:删除,插入等操作代码举例
- C++ stl队列Queue用法介绍:删除,插入等操作代码举例
- C++ stl队列Queue用法介绍:删除,插入等操作代码举例
- C++ stl队列Queue用法介绍:删除,插入等操作代码举例
- C++ Iterator迭代器介绍及Iterator迭代器用法代码举例
- C++ stl队列Queue用法介绍:删除,插入等操作代码举例
- C++可变参数模板(variadic template)详细介绍及代码举例
- c++ stl容器set成员函数介绍及set集合插入,遍历等用法举例
- c++ stl容器set成员函数介绍及set集合插入,遍历等用法举例
- c++ stl容器set成员函数介绍及set集合插入,遍历等用法举例
- 介绍一个 C/C++ 、C#、JAVA 代码美化工具
- C++中static_cast、const_cast、reinterpret_cast的用法举例,附带举例说明强制类型转换时int和int&的区别
- 介绍一个 C/C++ 、C#、JAVA 代码美化工具
- Linux C++ STL用法介绍(1)
- SQL C++代码自动生成器(sql2class)介绍
- C++ placement new 用法举例zz
- 介绍一个 C/C++ 、C#、JAVA 代码美化工具
- 举例说明使用MATLAB Coder从MATLAB生成C/C++代码步骤
- 在C/C++代码中使用SSE等指令集的指令(1)介绍
- 利用Rational Rose进行C++代码的逆向工程介绍