久しぶりにやるといつも忘れて、Web検索するハメになるけれど、イテレータの使用例ばかり出てくる(気がする)ので、添え字版をメモ。
1 2 3 4 5 6 7 8 9 10 |
#include <vector> std::vector<int> v = { 0, 1, 2, 3, 4, 5, 6 }; for( size_t i = 0; i < v.size(); ) // ここで添え字をインクリメントしない { if( v[i] % 2 ) v.erase( v.begin() + i ); else // 削除しないときだけ添え字をインクリメント ++i; } |
std::dequeでも同様。