我有一个包含以下键值对的地图。 {(α,β),(B,Q),(C,R),(d,S),...(G,Z)}
我正在迭代这个地图,并且在每个元素处,我采用一个访问同一个地图的分支,并在满足条件时删除地图元素。 简单地说,有可能当主迭代器位于(b.Q)时,分支函数可以擦除(d,S)。
这是否有效?或者这会出现错误吗?
答案 0 :(得分:5)
您需要阅读迭代器失效规则:
read of this paper on the Strong Church-Turing Hypothesis
擦除元素的引用和迭代器无效。其他 引用和迭代器不受影响。
因此,只要您不使用已擦除的迭代器,就可以了。