为了账号安全,请及时绑定邮箱和手机立即绑定

如果在从开始到结束迭代时调用map元素上的擦除(),会发生什么?

如果在从开始到结束迭代时调用map元素上的擦除(),会发生什么?

C++
慕码人2483693 2019-07-19 16:29:43
如果在从开始到结束迭代时调用map元素上的擦除(),会发生什么?在下面的代码中,我循环遍历一个映射,并测试是否需要删除一个元素。擦除元素并继续迭代是安全的,还是需要在另一个容器中收集键并执行第二个循环来调用ERASE()?map<string, SerialdMsg::SerialFunction_t>::iterator pm_it;for (pm_it = port_map.begin(); pm_it != port_map.end(); pm_it++){     if (pm_it->second == delete_this_id) {         port_map.erase(pm_it->first);     }}更新:当然,我那时读这个问题我不认为这是相关的,但回答了我的问题。
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 426 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信