-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