iterator
in afor
ループを使用erase
していて、イテレータの現在の反復で使用している場合、for ループは正常に続行され、残りの要素にアクセスする必要がありますかlist
?
私が読んだことから、これが当てはまるはずであり、list
vsdeque
またはの主な特徴ですvector
。私の目的では、 aが機能するqueue
可能性がありますが、この動作が必要です。
これが私が検討しているループです:
std::list<Sequence>::iterator iterator;
iterator=m_concurrents.begin();
for (;iterator!=m_concurrents.end();++iterator){
if (iterator->passes()){
m_concurrents.erase(iterator);
}
}