如果在从开始到结束迭代时调用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
提交
取消