STL中 迭代器的小节

迭代器在STL以及范型技术中起到了关键性的作用。最近我再度温故了一下这个迭代器的种种,现在写出来,算是总结一下:

一、迭代器一般可以如下分类:

向前读取迭代器:input iterator

向前写入迭代器:OutPut iterator

向前迭代器  :forword iterator ::public input iterator:具备input Iterator的全部功能 outPut的大部分功能

双向迭代器:Bidirectional Iterator ::public forword iterator:在forword迭代器的基础上增加了回头遍历的能力

随机迭代器:Random access iterator ::Bidirectional Iterator :在Bidirectional 迭代器的基础上增加了随机存 取的能力。

二、迭代器相关辅助函数:

1、迭代器的移动函数:   void advance(InputIteraotr & pos,Dist n);

2、迭代器之间的距离函数:Dist distance(InputIteraotor & pos1, InputIteraotr & pos2)

            其中的类型:Dist 是:  iteratro_traits<InputIterator>::difference_type;

3、交换两个迭代器所指内容的函数:void iter_swap(Forworditerator &pos1,Forworditerator &pos2)

三、迭代器的配接器:

或者说三种特殊的迭代器:逆向迭代器(reverse_iterator),插入迭代器、流迭代器)

逆向迭代器:比较容易理解:reverse_iterator();

插入迭代器包括
          back_insert_iterator               对应的转换生成函数为:back_inserter(cont)
 
          front_insert_iterator                                                           front_inserter(cont)
 
          insert_iterator                                                                         inserter(cont,pos)
 

流迭代器(stream):这种迭代器主要是可以把stream当作算法的起点和终点。

对应的流迭代器主要有两种:
 
ostream 迭代器:     写入迭代器     
                     ostream_iteratror<T>(ostreamPara):为流变量ostreamPara产生一个ostream的迭代器;
                     ostream_iteratror<T>(ostreamPara,delim):为流比变量ostreamPara产生一个ostream的迭代器;各元素 的输出以delim为间隔符号。
istream 迭代器:     读取迭代器
                     istream_iterator<T>(istreamPara) : 为流istreamPara产生一个istream的迭代器;
                     istream_iterator<T>( ) : 产生一个end_of_file的迭代器;
                          


这是目前的一些总结,里面的一些东西,我有所领悟,可是并不是非常的透彻,一般我会等到有更进一步的领悟的时候,我会重新写着便文章

     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值