好吧,我看到在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个新闻函数有什么意义呢?
谢谢,对不起我的英语。
答案 0 :(得分:2)
cbegin 总是返回const_iterator
。
begin将返回const_iterator
,但有时你有一个可变容器,并且出于某种原因你需要const_iterator
。之前,您必须致电begin
,然后明确将iterator
广告投放到const_iterator
。