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

iterator简单描述

时间:2018-06-05 23:18:45      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:rev   ima   lin   应该   查找   c++11   第一个   src   forward   

Item 26. Prefer iterator to const iterator, reverse_iterator, and const_reverse_iterator.

上面一段话,是《Effective STL》中的一节。我在下面简单摘抄了一下:

技术分享图片

技术分享图片

我之所以要将上述图片贴在这里,是因为,我在实际运用中,需要用到iterator向const_iterator的转化,虽然我知道在VS下,iterator可以隐式转化为const_iterator,但是,编写的程序需要在linux下运行,所以有些犹豫,故认真查找了一下。

对于上面的第一点,有些需要说明:

(1)在C++11之后,insert,erase函数的第一个参数,已经由iterator改为const_iterator。这个也非常合理,因为,原来传入iterator的调用,现在可以隐式转变为const_iterator,而且新的函数可以接受const_iterator的参数。

(2)reverse_iterator和const_reverse_iterator并不能传入insert,erase之类的函数,虽然从感觉上来看,reverse_iterator应该是一个iterator,const_reverse_iterator应该是const_iterator,可能将传入的参数,用forward_iterator之类的名字可能会更好,然而forward_iterator总是会让人想到forward_iterator_tag,在模板使用中,很多时候会使用类似于ForwardIterator之类的名字。

iterator简单描述

标签:rev   ima   lin   应该   查找   c++11   第一个   src   forward   

原文地址:https://www.cnblogs.com/albizzia/p/9142191.html

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