How can I remove elements from an std::set while iterating over it
My first attempt looks like:
set<T> s;
for(set<T>::iterator iter = s.begin(); iter != s.end(); ++iter) {
    //Do some stuff
    if(/*some condition*/)
        s.erase(iter--);
}
But this is problematic if we want to remove the first element from the set because iter-- invalidates the iterator.
What's the standard way to do this?
 
     
     
    