STL列表迭代器C ++ 11之间的区别

时间:2013-08-15 23:01:13

标签: c++11 stl iterator

好吧,我看到在C ++ 11中,列表中有4个新函数(STL)返回迭代器,它们是cbegin,cend,crbegin,crend。当我在cplusplus(网页)上阅读时,我看到他们只返回所有4种(开始,结束,反向开始和反向结束迭代器)的const迭代器,但问题是:

如果列表是const限定的(我说的是begin,end,rbegin和rend),那么在C ++ 11 ALREADY之前存在的函数会返回const迭代器,那么这些const迭代器和返回的有什么区别通过新的C ++ 11函数?或者至少,当你已经有4个返回相同的const迭代器时,制作4个新闻函数有什么意义呢?

谢谢,对不起我的英语。

1 个答案:

答案 0 :(得分:2)

cbegin 总是返回const_iterator

如果你在const容器上调用它,

begin将返回const_iterator,但有时你有一个可变容器,并且出于某种原因你需要const_iterator。之前,您必须致电begin,然后明确将iterator广告投放到const_iterator