-1
在我的項目中,我正在使用stl庫和對象的雙轉接器。該程序假定刪除某些對象變量符合條件,但每次元素滿足要刪除的要求時,程序必須中止。這裏是我的程序的簡化版本如何從deque中刪除一個隨機元素
int main(){
deque<Cars> card;
deque<Cars> iterator::iter
int count=0;
Cars car(14,15);
card.push_front(car);
Cars car(12,45);
card.push_front(car);
Cars car(15,60);
card.push_front(car);
Cars car(20,45)
card.push_front(car);
for(iter=card.begin();iter!=card.end();iter++){
if(iter->getnum2()==60){
card.erase(card.begin()+count);
}
count=count+1;
}
return 0;
}
普萊斯注意我在這在這個例子中,我正在做的ITER獲取getnum2使用雙端隊列適用於第2個數字爲每個我製作的汽車物品。
使用[擦除remove慣用法(https://en.wikibooks.org/wiki/More_C%2B%2B_Idioms/Erase-Remove),而不是刪除當你迭代它們時,來自容器的元素。 – Praetorian
答案已被刪除,因爲不僅呈現的代碼無效,還與* title *中的問題不匹配。沒有嘗試獲得一個隨機元素,儘管至少有一個用於刪除匹配元素的前提條件。 – WhozCraig