1、插入元素
(1)对于vector、string来说,当在某个位置插入元素后,如果内存空间重新分配,则指向任何位置的迭代器、指针、引用都会失效;
如果内存空间没有重新分配,则在插入位置之前的迭代器、指针、引用仍有效,插入位置之后的迭代器、指针、引用都失效;
注意:插入元素后,尾后跌代器都会失效.
(2)对于deque来说,在除了首尾位置之外任何位置插入元素跌代器、指针、引用都会失效;但是在首尾位置插入元素时,跌代器会失效,指针、引用仍有效;
(3)对于list、forward_list而言,任何位置插入元素,跌代器、指针、引用都不会失效;
2、删除元素
(1)对于vector、string来说,当在某个位置删除元素后,如果内存空间重新分配,则指向任何位置的迭代器、指针、引用都会失效;
如果内存空间没有重新分配,则在删除位置之前的迭代器、指针、引用仍有效,删除位置之后的迭代器、指针、引用都失效;
注意:删除元素后,尾后跌代器都会失效.
(2)对于deque来说,在除了首尾位置之外任何位置删除元素跌代器、指针、引用都会失效;但是在首尾位置删除元素时,跌代器会失效,指针、引用仍有效;
(3)对于list、forward_list而言,任何位置删除元素,跌代器、指针、引用都不会失效;
对于插入、删除操作,list、forward_list都不会失效,稳定性最强;vector、string的尾后迭代器都会失效;deque的稳定性最弱;