我应该更喜欢迭代器而不是 const_iterators 吗?

Should I prefer iterators over const_iterators?(我应该更喜欢迭代器而不是 const_iterators 吗?)
本文介绍了我应该更喜欢迭代器而不是 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 吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Rising edge interrupt triggering multiple times on STM32 Nucleo(在STM32 Nucleo上多次触发上升沿中断)
How to use va_list correctly in a sequence of wrapper functions calls?(如何在一系列包装函数调用中正确使用 va_list?)
OpenGL Perspective Projection Clipping Polygon with Vertex Outside Frustum = Wrong texture mapping?(OpenGL透视投影裁剪多边形,顶点在视锥外=错误的纹理映射?)
How does one properly deserialize a byte array back into an object in C++?(如何正确地将字节数组反序列化回 C++ 中的对象?)
What free tiniest flash file system could you advice for embedded system?(您可以为嵌入式系统推荐什么免费的最小闪存文件系统?)
Volatile member variables vs. volatile object?(易失性成员变量与易失性对象?)