码迷,mamicode.com
首页 > 其他好文 > 详细

标准库中迭代器的关系

时间:2014-11-18 23:39:40      阅读:306      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   ar   sp   for   strong   on   

分类:

输入迭代器(input iterator) < 前向迭代器(forward iterator)< 双向迭代器(bidirectional iterator)< 跳转迭代器(random access iterator)和 输出迭代器(output iterator)

继承关系如下

 

struct input_iterator_tag {};

struct output_iterator_tag {};

struct forward_iterator_tag:public input_iterator_tag{};

struct bidirectional_iterator_tag :public forward_iterator_tag{};

struct random_access_iterator_tag :public bidirectional_iterator_tag{};

bubuko.com,布布扣

输入迭代器与前向迭代器的区别在于,前向迭代器可以保证若实例a与b满足a==b,则必++a==++b,而输入迭代器不能保证。

输入迭代器只能遍历一遍,但是前向迭代器可以保存迭代器的多个副本实现多次遍历。

双向迭代器故名思意,可以前后移动++,--

跳转迭代器可以向前向后移动任意位置,+=n,-=n

输出迭代器也只能遍历一遍,移至下一个位置后,不能保证之前的迭代器有效。

 

 

标准库中迭代器的关系

标签:style   blog   http   io   ar   sp   for   strong   on   

原文地址:http://www.cnblogs.com/songliquan/p/4106516.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!