C++ 迭代器失效

2018-02-13  本文已影响49人  863cda997e42

对容器的操作影响了元素的存放位置,称为迭代器失效。下面是一些常见的迭代器失效情况

vector

  1. 插入一个元素后,end操作方位的迭代器失效。
  2. 插入一个元素后,capacity返回值发生变化,first和end操作返回的迭代器都会失效。
  3. 进行删除操作后,指向删除点的迭代器将失效,指向删除点后面的元素的迭代器也将失效。

deque

  1. 在容器首部和尾部插入元素不会使迭代器失效。
  2. 在首部或尾部删除元素会使指向被删除元素的迭代器失效。
  3. 在容器的任何位置插入或删除操作将会使指向该容器元素的所有迭代器失效

list/set/multiset/map/multimap

删除元素时,指向该元素的迭代器失效。

上一篇 下一篇

猜你喜欢

热点阅读