#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int> v {1, 2, 3, 2, 5, 2, 6, 2, 4, 8};
const auto new_end (remove(begin(v), end(v), 2));
v.erase(new_end, end(v));
for (auto i : v) {
cout << i << ", ";
}
cout << '\n';
const auto odd ([](int i) { return i % 2 != 0; });
//remove_if(begin(v), end(v), odd);
v.erase(remove_if(begin(v), end(v), odd), end(v));
v.shrink_to_fit();
for (auto i : v) {
cout << i << ", ";
}
cout << '\n';
}
https://blog.youkuaiyun.com/qq_27788829/article/details/51181080
cpp 17 cookbook:
https://discourse-production.oss-cn-shanghai.aliyuncs.com/original/3X/c/e/ce2e1fe51865660aaa835bd2674c1920e49f4c82.pdf