@cexer
http://www.cplusplus.com/reference/stl/vector/erase/這里是一個比較好的描述
“Because vectors keep an array format, erasing on positions other than the vector end also moves all the elements after the segment erased to their new positions”
“This invalidates all iterator and references to elements after position or first.”
刪除對象后會讓迭代器之后的對象移動,因此而導致迭代器失效
map的實現,紅黑樹,在插入和刪除對象后因為要做平衡,所以同樣也有可能導致迭代器的失效
當然最終是不是會出現迭代器錯誤,這依賴于標準庫的具體實現,另外還可能包括其優化方法