1. 程式人生 > >C++ vector一邊遍歷一邊刪除元素

C++ vector一邊遍歷一邊刪除元素

轉自:  使用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);

}

}