【问题标题】:Difference between STL list iterators C++11 [duplicate]STL列表迭代器C ++ 11之间的区别[重复]
【发布时间】:2013-08-18 06:27:13
【问题描述】:

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

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

感谢和抱歉我的英语。

【问题讨论】:

    标签: c++11 stl iterator


    【解决方案1】:

    cbegin 总是 返回一个const_iterator

    如果你在 const 容器上调用begin,它会返回一个const_iterator,但有时你有一个可变容器,出于某种原因你想要一个const_iterator。之前,您必须调用begin,然后将iterator 显式转换为const_iterator

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-29
      • 1970-01-01
      • 2013-08-03
      • 1970-01-01
      • 2011-01-25
      • 2014-12-05
      • 2012-11-05
      相关资源
      最近更新 更多