deque的迭代器失效
插入头尾:迭代器全部失效但是引用不失效
删除头尾:被删除的元素迭代器和引用失效
插入和删除中间:迭代器和引用全部失效
其中插入头尾操作引用不失效的原因是,deque由一个map和连续数组组成,其中map是指向数组的指针即二级指针,当插入头尾时,如果内存不够,会①复制原map的信息②申请新的连续空间作为map③存入旧的map信息,然后再插入新的数据。而deque的迭代器中存放着cur(当前数组的位置)first和end(当前map节点的首位地址)和node(当前map的节点地址),所以由于map的从新分配,迭代器的node失效,但是原map指向的连续数组并没有从新分配。