如果在從開始到結(jié)束迭代時調(diào)用map元素上的擦除(),會發(fā)生什么?在下面的代碼中,我循環(huán)遍歷一個映射,并測試是否需要刪除一個元素。擦除元素并繼續(xù)迭代是安全的,還是需要在另一個容器中收集鍵并執(zhí)行第二個循環(huán)來調(diào)用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);
}}更新:當(dāng)然,我那時讀這個問題我不認(rèn)為這是相關(guān)的,但回答了我的問題。
- 3 回答
- 0 關(guān)注
- 339 瀏覽
添加回答
舉報
0/150
提交
取消