2
我想知道一個std :: vector容器的元素的排序在刪除一個任意元素後總是被保留下來(例如:push 0,1,2,3,erase 1,get 0,2,3 )。擦除std :: vector的元素是否保留了排序?
我想知道一個std :: vector容器的元素的排序在刪除一個任意元素後總是被保留下來(例如:push 0,1,2,3,erase 1,get 0,2,3 )。擦除std :: vector的元素是否保留了排序?
是的。另外,還要對複雜音符(第23.3.6.5):
複雜性:T的析構函數刪除元素的次數等於 數量,但 T的移動賦值運算符是稱爲次數等於擦除元素之後的 向量中元素的數量。
和迭代器失效:
éFF學分:在或 擦除點之後迭代器失效和引用。
如果你不想通過標準來檢查這些細節,並沒有自信,那麼看看這個reference site。
你爲什麼不自己測試一下? – L7ColWinters 2012-04-12 18:08:20
@ L7ColWinters:那不會告訴他這個時間是否正常工作,或者是否確實有效。 – Mat 2012-04-12 18:10:50
@Mat它會如果他使用不同的原語做多個測試用例 – L7ColWinters 2012-04-12 18:25:08