繰り返される処理を防ぐために、要素の一部を削除しながら、ベクトルの要素を1つのステップで反復することはできますか? (私はフラグメントは偽ですけど、私が欲しいものを示す)ベクターを反復処理してその特定の要素を削除する安全な方法は何ですか
std::vector<MyRecord*>* BLV = GetVector();
for (std::vector<MyRecord*>::iterator it = BLV->begin(); it != BLV->end(); ++it)
{
MyRecord* BL = *it;
if(Selected)
{
delete BL;
BLV->erase(it);
}
}
はhttp://stackoverflow.com/questions/3938838/erasing-from-a-stdvector-while-doing-a-for-each –
の可能性のある重複あなたはunique_ptrを年代のベクトルを使用して適用について考えたことがあります消し去りイディオム? – MikeMB
'MyRecord'と' LinkRegisterRecord'の関係は何ですか? – songyuanyao