C++刪除迭代器兩種方法對比(list.erase(it++)和it=list.erase(it))

C++ STL容器初學使用時,遍歷刪除某值元素一定要注意以下幾點: 錯誤示範: 修改方法一: 修改方法二: 兩種正確編碼對其它STL容器一樣有效,區別在於: 第一種修改是 it 先++,指向下一個迭代器,再釋放之前的迭代器,類似於: 因爲是值傳遞,在節點被析構之前,it已經安全地跳轉到下一個節點,這裏強調一下,值傳遞原因,erase函數調用和it++是同時的,可能和編譯器有關,代碼理論上是先調用完
相關文章
相關標籤/搜索