最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

今日热议:【介绍】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迭代器。

关键词: