std::vector erase

經調試發現,在一個for循環中,刪除遍歷中的vector元素,假設有如下聲明:

std::vector<std::string> test;

std::vector<std::string>::iterator it;

用test.erase(it++),在刪除最後一個元素後,it!=test.end()並不爲true,

而改用it = test.erase(it)時,it!=test.end()爲true,

雖然兩種刪除後,it指向的內容都一樣。

搞不懂,是以銘記。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章