迭代器失效问题:
不光vector中有迭代器失效问题,其实list中也有。list仅有指向被删除元素的迭代器失效。
下边给出一段代码:
int main()
{
vector<int> array;
array.push_back(1);
array.push_back(3);
array.push_back(3);
array.push_back(5);
vector<int>::iterator it;
for (it = array.begin();it != array.end();)
{
if (*it == 3)
{
it = array.erase(it);
}
else
it++;
}
for (it = array.begin();it != array.end();it++)
{
cout << *it << endl;
}
system("pause");
return 0;
}
关于其他容器的迭代器失效问题,之后继续更新~~