我有一个包含以下键值对的地图.{(α,β),(B,Q),(C,R),(d,S),...(G,Z)}
我正在迭代这个地图,并且在每个元素处,我采用一个访问同一个地图的分支,并在满足条件时擦除地图的一个元素.简单地说,当主迭代器处于(bQ)时,分支函数可以擦除(d,S).
这是有效的吗?或者这会出现错误吗?
您需要阅读迭代器失效规则:
的std ::地图::擦除
擦除元素的引用和迭代器无效.其他引用和迭代器不受影响.
所以只要你不使用你擦除的迭代器,你就是好的.