ループごとに新しいC++11を使用して、リストのすべての要素を反復処理し、特定の要素を消去したいと思います。例えば
std::list<int> myList;
myList.push_back(1);
myList.push_back(13);
myList.push_back(9);
myList.push_back(4);
for(int element : myList) {
if(element > 5) {
//Do something with the element
//erase the element
}else{
//Do something else with the element
}
}
for eachループを使用してこれを行うことは可能ですか、それともこれを達成するためにイテレーターに戻る必要がありますか?