改變?nèi)萜鞯拇笮。喝绻谑褂玫鞯倪^程中改變了容器的大小,比如插入或刪除元素,迭代器就有可能失效。
刪除迭代器指向的元素:如果刪除了迭代器指向的元素,那么這個(gè)迭代器就會失效。
使用了end()迭代器:end()迭代器指向容器的末尾,如果使用了end()迭代器進(jìn)行操作,就可能導(dǎo)致迭代器失效。
在嵌套循環(huán)中修改外層循環(huán)的容器:在嵌套循環(huán)中如果修改了外層循環(huán)的容器,內(nèi)層循環(huán)的迭代器就有可能失效。
在多線程環(huán)境中操作容器:在多線程環(huán)境中,如果多個(gè)線程同時(shí)對容器進(jìn)行操作,就可能導(dǎo)致迭代器失效。
使用了被銷毀的容器:如果使用了已經(jīng)被銷毀的容器,迭代器就會失效。