C++ vector一边遍历一边删除元素

来源:互联网 发布:酿酒板块追踪哪个数据 编辑:程序博客网 时间:2024/04/28 11:44
使用iterator迭代器对vector进行遍历,删除元素时使用的erase函数返回的是vector中的下一个元素。
代码如下:

/* ObjectVector是一个Object类型的迭代器,轮询ObjectVector,如果Object::IsAlive()返回false则从vector中删除该Object */

vector<Object*>::iterator it = ObjectVector.begin();

while(it != ObjectVector.end()){

if((*it)->IsAlive()){

it++;

}else{

it = ObjectVector.erase(it);

}

}



原创粉丝点击