迭代器失效,该怎么解决

迭代器失效
往list容器里添加元素,不会导致迭代器失效吗?
为什么不能通过下标来访问list内的元素,而vector和deque却可以

------解决方案--------------------
list容器的殷迭代器既不支持算术运算(加法或减法),也不支持关系运算(<=,<,>=,>),它只提供前置和后置的自增、自减运算以及相等(不相等)运算
------解决方案--------------------
std::list是一个双向链表,在某中意义上说,迭代器就是指向链表中元素的指针,添加元素不会导致迭代器失效,而是会动态的添加到链表中。
正如前面所说,list是链表,元素不是连续存储,而是通过指针链接。而vector与deque使用的是连续存储,所有元素保存在连续的内存中,就如同数组一样因此可以使用下标访问(下标访问相当于基地址+偏移量).
------解决方案--------------------
探讨
往list容器里添加元素,不会导致迭代器失效吗?
为什么不能通过下标来访问list内的元素,而vector和deque却可以