摘要: 我们通过map的erase(iterator it)方法删除元素的时候,如果此时erase处于遍历map的代码中,那么调用erase就需要小心一些。因为erase会导致输入参数iterator变的无效,从而影响后续的it++遍历map的逻辑。简单做法是,先将要删除的it保存下来,然后将用于遍历map的it指向下一个位置,然后删除掉保存下来的it。如下面代码所示:#include<map>#include<iostream>usingnamespacestd;intmain(){map<int,int>map1;map<int,int>::iter 阅读全文
posted @ 2011-10-11 17:13 super119 阅读(4747) 评论(0) 推荐(1) 编辑
点击右上角即可分享
微信分享提示