当前位置:  开发笔记 > 编程语言 > 正文

迭代时擦除std :: map的其他元素

如何解决《迭代时擦除std::map的其他元素》经验,为你挑选了1个好方法。

我有一个包含以下键值对的地图.{(α,β),(B,Q),(C,R),(d,S),...(G,Z)}

我正在迭代这个地图,并且在每个元素处,我采用一个访问同一个地图的分支,并在满足条件时擦除地图的一个元素.简单地说,当主迭代器处于(bQ)时,分支函数可以擦除(d,S).

这是有效的吗?或者这会出现错误吗?



1> bolov..:

您需要阅读迭代器失效规则:

的std ::地图::擦除

擦除元素的引用和迭代器无效.其他引用和迭代器不受影响.

所以只要你不使用你擦除的迭代器,你就是好的.

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有