对于迭代器,我们可以暂时将它理解为指针。
迭代器失效指迭代器所指向的节点的无效,即该节点被删除了。因为list的底层结构为带头结点的双向循环链表,因此在list中进行插入时是不会导致list的迭代器失效的,只有在删除时才会失效,并且失效的只是指向被删除结点的迭代器,其他迭代器不会受到影响。
#include<iostream>
#include<list>
using namespace std;
void TestListIterator1()
{
int array[] = {
1, 2, 3, 4