0

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

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

谢谢和对不起我的英语。

4

1 回答 1

2

cbegin总是返回一个const_iterator.

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

于 2013-08-15T23:35:24.317 回答