【介绍】C++五种迭代器
目录
1.输入迭代器(InputIterator):
2.输出迭代器(OutputIterator):
【资料图】
3.前向迭代器(ForwardIterator):
4.双向迭代器(BidirectionalIterator):
5.随机访问迭代器(RandomAccessIterator):
1.输入迭代器(InputIterator):
支持单次读取和前进;即只能遍历一遍集合,并且只能向前跳转。-递增操作(Increment):++iter-解引用操作(Dereference):*iter-比较操作(EqualityComparable):iter1==iter2、iter1!=iter2-const支持:同时支持const和non-const迭代器,因为输入流不应该改变容器元素。
2.输出迭代器(OutputIterator):
支持单次写入和前进;即只能遍历一遍集合,并且只能向前跳转。-递增操作(Increment):++iter-解引用操作(Dereference):*iter-引用操作(Reference):iter=val-const支持:不支持const迭代器,因为输出流总是允许修改。
3.前向迭代器(ForwardIterator):
支持读取和写入,多次迭代,和向前跳转。-递增操作(Increment):++iter-解引用操作(DereferenceandReference):*iter、iter->member-比较操作(EqualityComparable):iter1==iter2、iter1!=iter2-const支持:同时支持const和non-const迭代器。
4.双向迭代器(BidirectionalIterator):
支持前向迭代器的所有操作,并支持向后跳转。-递减操作(Decrement):--iter-const支持:同时支持const和non-const迭代器。
5.随机访问迭代器(RandomAccessIterator):
支持双向迭代器的所有操作,并支持随机跳转和算术运算。-递增操作(Increment):++iter-递减操作(Decrement):--iter-加法和减法操作(Arithmetic):iter+n、iter-n、iter1-iter2-解引用操作(DereferenceandReference):*iter、iter->member、iter[n]-比较操作(Comparison):iter1< iter2、iter1 >iter2、iter1<= iter2、iter1 >=iter2-const支持:同时支持const和non-const迭代器。