好吧,我已經遇到過這個問題多次,並認爲這將是很好的把這個扔在SO上的好人。從容器中刪除元素時,通過它們迭代
說我已經做了一個類,讓我們稱之爲資源。 因此,Resource類有一個布爾變量,它指示任何實例處於活動狀態的天氣。
現在,我創建了一個容器來保存對資源類型對象的引用。
隨着時間的推移,其中一些被取消激活,我想刪除這些停用的對象,以便釋放內存。 總是我試着做到這一點:嘗試迭代容器中的元素並刪除標記爲非活動狀態的元素。這顯然會導致迭代器失效的問題,並且程序開始拋出運行時錯誤。
因此,最後,我的問題是,根據某些只能通過查看對象的內容才能評估的條件來安全刪除對象的最佳方法是什麼。
[迭代時刪除]的可能重複(http://stackoverflow.com/questions/3901356/deleting-while-iterating) – 2012-03-12 11:53:33
可能重複[迭代向量,刪除某些項目,我去](http:// stackoverflow.com/questions/1604588/iterate-vector-remove-certain-items-as-i-go) – 2012-03-12 12:26:26
不只是討論向量或列表,還有地圖和其他關聯容器。 – angryInsomniac 2012-03-13 06:27:20