擦除std :: vector的元素会保留排序吗?

时间:2012-04-12 18:05:24

标签: vector

我想知道在删除任意元素后是否始终保留std :: vector容器元素的顺序(例如:push 0,1,2,3,erase 1,get 0,2, 3)。

1 个答案:

答案 0 :(得分:1)

是的,确实如此。还要注意复杂性(第23.3.6.5节):

  

复杂性:T的析构函数被称为等于的次数   删除的元素数量,但移动赋值运算符   T被称为次数等于中的元素数量   擦除元素后的矢量。

和迭代器失效:

  

E ff ects:在点或之后使迭代器和引用无效   擦除。

如果您不想查看标准以查看此类详细信息并且不自信,请查看此reference site