Let's say I have this code:
std::vector<Object*> objects;
std::vector<Object*>::iterator iter;
for (iter = objects.begin(); iter != objects.end(); iter++) {
if (condition)
objects.push_back(new Object());
}
However, when push_back occurs, iter
becomes undereferenceable. Without resetting iter
, how do I keep it dereferenceable? If I have to reset it, is there an easy way to do it so iter goes back to where it was before?