如果在從開始到結束迭代時調用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 回答
- 0 關注
- 344 瀏覽
添加回答
舉報
0/150
提交
取消