迭代器分类

迭代器分类

迭代器能力提供
output迭代器向前输出Ostream、inserter
input迭代器向前输入Istream
forward迭代器向前输入输出forward list、unordered containers
bidirectional迭代器向前、向后输入输出list、set、multiset、map、multimap
random-access迭代器随机输入输出array、vector、deque、string

纯粹的 output 迭代器只有 ostream 和 inserter,而纯粹的 input 迭代器只有 istream,其他迭代器既是 output 迭代器,也是 input 迭代器。output迭代器只能用于往迭代器指向的位置写入数据,input迭代器能用不读取迭代器指向位置的数据。

1、output迭代器支持操作:

操作作用
operator*返回迭代器引用
operator++返回迭代器引用
operator=输出数据
ostream_iterator<string> writer(cout, "\n");
// 使用方法1
*writer = "hello";
++writer;
*writer = "world";
// 使用方法2
writer = "hello";
writer = "world";

代码以ostream_iterator为例,代码中两种方法的效果一样,inster_iterator也可以得到相同结果。实际对于 output迭代器,operator* 和 operator++ 没有执行任何操作。

2、input迭代器支持操作

操作作用
operator*读取元素
operator->访问元素成员
operator++向前移动迭代器
operator==、!=比较迭代器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值