【发布时间】:2013-05-30 01:25:23
【问题描述】:
我看到它被引用了很多,但它到底是什么没有明确的答案。我的经验是使用高级语言,所以我不熟悉集合框架中存在的无效性。
什么是迭代器失效?
为什么会出现?为什么难对付?
【问题讨论】:
-
我可能需要对此进行更好的解释,我认为这与高级/低级语言无关。我知道您无法在
C#的迭代期间修改列表。 -
@NickFreeman 它与高低水平无关。它与实施有关。完全有可能(尽管很复杂)在 C# 中创建一个允许在枚举时进行迭代的容器,只要您保持每个检查的状态。
-
嗯,在我使用非 C++ 语言的经验中,我从未听说过迭代器失效,所以我认为它与低级别/性能问题有关,否则所有集合都是相同的。