C ++ vector :: clear()-销毁顺序?

时间:2019-01-09 20:17:27

标签: c++ c++11 stl

我到处搜索并没有发现任何东西-C ++是否可以保证在调用vector :: clear()时删除std :: vector中的项目的顺序?

我有一个向量,其中某些项目取决于向量中的其他项目,因此需要确保已清除LIFO。 FIFO很好-我可以在调用clear()之前反转向量。

1 个答案:

答案 0 :(得分:2)

根据sequence container requirementsstd::vector是其中之一),该标准仅对clear()说:

  

销毁a中的所有元素。使所有引用,指针和   引用a的元素的迭代器,可能会使   过去的迭代器。

     

确保:a.empty()返回true

     

复杂度:线性。

所以不,您无法保证销毁顺序。