I'm trying to remove even numbers while iterating.
I can't use remove_if
[source lang="cpp"] std::vector<int> vec; for(int i=1; i<=20; ++i) vec.push_back(i); for(auto iter=vec.begin(); iter!=vec.end(); ++iter) { if(*iter%2==0){ std::swap(*iter, vec.back());//swap-and-pop vec.pop_back(); } }[/source]
isn't iter!=vec.end() enough?
Edited by lride, 23 November 2012 - 10:53 PM.






