首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >映射的const_reference或迭代器(当不是实际迭代时)

映射的const_reference或迭代器(当不是实际迭代时)
EN

Stack Overflow用户
提问于 2010-08-22 11:39:16
回答 1查看 528关注 0票数 0

我有一些代码使用迭代器遍历unordered_map的所有元素,但在该循环中还有其他几个过程,我在这些过程中存储映射中特定元素的迭代器,并且通常会跳过很多次,但不进行迭代(最外层的迭代器除外)。

在我看来,如果我实际上不是在迭代,那么使用元素的unordered_map::const_reference可能更合适。这是真的吗?唯一阻止我使用const_references的是,从我在谷歌上的快速搜索来看,人们似乎很少使用它们,或者至少很少有人讨论它们。

EN

回答 1

Stack Overflow用户

发布于 2010-08-22 12:00:47

常量正确性是C++编程的关键之一。

编写程序并在事后添加常量正确性是非常困难的(因为它在代码中层叠),您需要提前完成这项工作。

因此,您应该更喜欢使用const_iterators而不是迭代器。但就像所有事情一样,这是一个判断决定。

个人:如果我不打算修改容器中的任何元素,那么我将使用const_iterators,但是如果有可能对对象调用非常量方法,那么您只能使用迭代器。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3541333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档