【问题标题】:When is using an iterator appropriate? [closed]什么时候使用迭代器合适? [关闭]
【发布时间】:2013-10-21 19:15:01
【问题描述】:

我目前正在学习数据结构(c++)课程,今天我们简要介绍了迭代器。教授并没有真正理解它,虽然我对迭代器的作用有了基本的了解,但我想知道是否有人可以扩展该主题,可能会给出使用它们的 Pro/Con 列表,而不是最好在 c++ 中使用,而是一般大纲也可以。

提前感谢所有回复的人:)。

【问题讨论】:

  • 我觉得这个问题其实很清楚。
  • @MatsPetersson - 这个问题被搁置,因为题外话,不清楚。
  • 对不起,我的意思是它偏离主题的具体原因是(据说)它没有“描述具体问题”。在选择迭代器或“不使用迭代器”时,您如何建议 OP 解释“特定问题”?或者你不能问“我什么时候应该使用 X”这样的问题?输入问题?
  • 我投票决定关闭,但一直在努力寻找最合适的理由。基本上答案归结为“迭代时使用迭代器”。通常,别无选择。优点:使迭代成为可能。问题尚不清楚:我们与哪个替代方案进行比较?

标签: c++ iterator


【解决方案1】:

使用迭代器可以保持对象数据的受保护状态。例如,您可能会遍历一个列表。返回的迭代器可以让您单步执行列表元素(节点),而不能直接修改列表。不过,它取决于实现。您可以轻松编写自己的迭代器,允许直接修改列表向量。这只是方便抽象的另一种形式。

作为接口(纯抽象)的迭代器可用于提供通用接口来遍历不同类型的列表或数组,就像在 Java、C# 等中一样。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-28
    • 2011-09-13
    • 1970-01-01
    • 2016-01-11
    • 2012-06-16
    • 2010-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多