C++ vector 避免迭代器失效
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int>m;
m.push_back(1);
m.push_back(2);
m.push_back(3);
for(std::vector<int>::iterator it = m.begin();it != m.end())
{
if(*it == 2)
{
it = m.erase(it);
}
else
it++;
}
for(unsigned int i=0;i<m.size();i++)
cout<<m[i]<<endl;
return 0;
}