先说下erase(),这个函数返回值是删除元素的下一个迭代位置,
for(vector<int> ::iterator it = data.begin();it != data.end();++it)
{for(vector<int>::iterator it = data.begin();it != data.end();) { if(..) { //当满足条件时,删除 //这个需要注意,erase返回值一定要有it接收返回值,否则会出现死循环 it = data.erase(it); } else { ++it; } }
版权声明:本文为zhanghong056原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。