// Use g++ -std=c++11 or clang++ -std=c++11 to compile.
#include <vector> // the general-purpose vector container
#include <iostream>
#include <algorithm> // remove and remove_if
bool is_odd(int i)
{
return (i % 2) != 0;
}
void print(const std::vector<int> &vec)
{
for (const auto& i: vec)
std::cout << i << ' ';
std::cout << std::endl;
}
int main()
{
// initialises a vector that holds the numbers from 0-9.
std::vector<int> v = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
print(v);
// removes all elements with the value 5
v.erase( std::remove( std::begin(v), std::end(v), 5 ), std::end(v) );
print(v);
// removes all odd numbers
v.erase( std::remove_if(std::begin(v), std::end(v), is_odd), std::end(v) );
print(v);
return 0;
}
Ly8gVXNlIGcrKyAtc3RkPWMrKzExIG9yIGNsYW5nKysgLXN0ZD1jKysxMSB0byBjb21waWxlLgogCiNpbmNsdWRlIDx2ZWN0b3I+IC8vIHRoZSBnZW5lcmFsLXB1cnBvc2UgdmVjdG9yIGNvbnRhaW5lcgojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlIDxhbGdvcml0aG0+IC8vIHJlbW92ZSBhbmQgcmVtb3ZlX2lmCiAKYm9vbCBpc19vZGQoaW50IGkpCnsKICByZXR1cm4gKGkgJSAyKSAhPSAwOyAgCn0KIAp2b2lkIHByaW50KGNvbnN0IHN0ZDo6dmVjdG9yPGludD4gJnZlYykKewogIGZvciAoY29uc3QgYXV0byYgaTogdmVjKSAKICAgIHN0ZDo6Y291dCA8PCBpIDw8ICcgJzsgCiAgc3RkOjpjb3V0IDw8IHN0ZDo6ZW5kbDsKfQogCmludCBtYWluKCkKewogIC8vIGluaXRpYWxpc2VzIGEgdmVjdG9yIHRoYXQgaG9sZHMgdGhlIG51bWJlcnMgZnJvbSAwLTkuCiAgc3RkOjp2ZWN0b3I8aW50PiB2ID0geyAwLCAxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5IH07CiAgcHJpbnQodik7CiAKICAvLyByZW1vdmVzIGFsbCBlbGVtZW50cyB3aXRoIHRoZSB2YWx1ZSA1CiAgdi5lcmFzZSggc3RkOjpyZW1vdmUoIHN0ZDo6YmVnaW4odiksIHN0ZDo6ZW5kKHYpLCA1ICksIHN0ZDo6ZW5kKHYpICk7IAogIHByaW50KHYpOyAKIAogIC8vIHJlbW92ZXMgYWxsIG9kZCBudW1iZXJzCiAgdi5lcmFzZSggc3RkOjpyZW1vdmVfaWYoc3RkOjpiZWdpbih2KSwgc3RkOjplbmQodiksIGlzX29kZCksIHN0ZDo6ZW5kKHYpICk7CiAgcHJpbnQodik7CiAKICByZXR1cm4gMDsgIAp9