再谈迭代器

1、C++语言还提供另外三种迭代器:
1)插入迭代器:这类迭代器与容器绑定在一起,实现在容器中插入元素的功能。
2)iostream迭代器:这类迭代器可与输入或输出流绑定在一起,用于迭代遍历所关联的IO流。
3)反向迭代器:这类迭代器实现向后遍历,而不是向前遍历,所有容器类型都定义了自己的reverse_iterator类型,由rbegin和rend成员函数返回。

2、iostream对象上使用的迭代器:istream_iterator用于读取输入流,而ostream_iterator用于写输出流。
iostream迭代器的构造函数:
istream_iterator in(strm);   创建从输入流strm中读取T类型对象的istream_iterator对象
istream_iterator in;    istream_iterator对象的超出末端迭代器
ostream_iterator out(strm);   创建将T类型的对象写到输出流strm的ostream_iterator对象
ostream_iterator out(strm,delim);   创建将T类型的对象写到输出流strm的ostream_iterator对象,在写入过程中使用delim作为元素的分隔符,delim是以空字符结束的字符数组。
流迭代器只定义了最基本的迭代器操作:自增、解引用和赋值。可比较两个istream迭代器是否相等(或不等)。而ostream迭代器而不提供比较运算。
ostream_iterator没有->操作符。

3、反向迭代器从最后一个元素到第一个元素遍历容器,反向迭代器将自增(和自减)的含义反过来了:对于反向迭代器,++运算将访问前一个元素,而--运算则访问下一个元素。
容器定义了rbegin和rend成员,分别返回指向容器尾元素和首元素前一位置的反向迭代器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值