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