nirasan's tech blog

趣味や仕事の覚え書きです。Linux, Perl, PHP, Ruby, Javascript, Android, Cocos2d-x, Unity などに興味があります。

C++ で list の要素を削除する手順のメモ

コード

#include <list>

// リストの作成
list<int> numbers;
for (int i = 0; i < 10; i++) {
	numbers.push_back(i);
}

// リストのイテレーション
list<int>::iterator it = numbers.begin();
while (it != numbers.end()) {
	// 偶数なら削除
	int number = *it;
	if (number % 2 == 0) {
		// 要素の削除と、削除した要素以降の新しいイテレータの取得
		it = numbers.erase(it);
	}
	// 奇数ならイテレータを進める
	else {
		it++
	}
}