erasing-iterator-in-loop std::vector vec(100); for (std::vector::iterator itr = vec.begin(); itr != vec.end(); /* Incremented in loop */) { if (*itr == 5) { // Automatically returns iterator after itr itr = vec.erase(itr); } else ++itr; }