|
条件を満たすものをコンテナから削除するなら、僕はこうする:
#include <iostream>
#include <algorithm>
#include <numeric>
#include <vector>
using namespace std;
int main() {
vector<int> iv(10);
iota(iv.begin(), iv.end(), 0); // iv = { 0, 1, 2 ... 9 }
// 使用前
for_each(iv.begin(), iv.end(), [](int n) { cout << n << ' ';});
cout << endl;
// 偶数を削除
iv.erase(remove_if(iv.begin(),iv.end(),[](int n) { return n % 2 == 0;}), iv.end());
// 使用後
for_each(iv.begin(), iv.end(), [](int n) { cout << n << ' ';});
cout << endl;
}
...てか、こんな話じゃないのかしら?
|