迭代 std::list 時,在維護有效迭代器的同時刪除元素可能具有挑戰性。考慮以下程式碼:
新增註解掉的行以立即刪除不活動的項目將導致「清單迭代器不可遞增」錯誤。這是因為刪除元素會使迭代器無效。
要在迭代時有效地刪除項目,請考慮使用while 循環方法:
這裡的關鍵是在刪除元素之前增加迭代器。或者,可以使用「i = items.erase(i)」。這允許在迭代時安全有效地刪除元素。
以上是如何在迭代期間安全地從 std::list 中刪除元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!