我应该更喜欢迭代器而不是 const_iterators 吗? [英] Should I prefer iterators over const_iterators?

查看:16
本文介绍了我应该更喜欢迭代器而不是 const_iterators 吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

最近有人提出 Scott Meyers 的文章说:

Someone here recently brought up the article from Scott Meyers that says:

  • 更喜欢 iterators 而不是 const_iterators (pdf 链接).
  • Prefer iterators over const_iterators (pdf link).

其他人评论说这篇文章可能已经过时了.我想知道你的意见是什么?

Someone else was commenting that the article is probably outdated. I'm wondering what your opinions are?

这是我的:这篇文章的主要观点之一是您不能在 const_iterator 上擦除或插入,但我认为将其用作反对 const_iterators<的论据很有趣/代码>.我认为 const_iterators 的全部意义在于您根本不修改范围,既不是通过替换它们的值来修改元素本身,也不是通过插入或擦除来修改范围.还是我错过了什么?

Here is mine: One of the main points of the article is that you cannot erase or insert on a const_iterator, but I think it's funny to use that as an argument against const_iterators. I thought the whole point of const_iterators it that you do not modify the range at all, neither the elements themselves by substituting their values nor the range by inserting or erasing. Or am I missing something?

推荐答案

我完全同意你的看法.我认为答案很简单:使用 const_iterators,其中 const 值是正确的,反之亦然.在我看来,那些反对 const_iterators 的人通常必须反对 const...

I totally agree with you. I think the answer is simple: Use const_iterators where const values are the right thing to use, and vice versa. Seems to me that those who are against const_iterators must be against const in general...

这篇关于我应该更喜欢迭代器而不是 const_iterators 吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆