在我们使用C++中的STL的时候,可以使用迭代器iterator进行遍历,但是当我们通过iterator对vector和map删除元素的时候,要格外的小心,往往操作不当,导致iterator失效,后果就是程序奔溃。
1. 对于vector,erase会返回下一个iterator。所以一般采用的方法是:
因为在使用erase的时候,删除元素前面的iterator有效,但是后面的iterator就不可预知了。
#include <iostream>
#include <vector>
#include <iterator>
using namespace std