假设我有这个代码:
std::vector<Object*> objects;
std::vector<Object*>::iterator iter;
for (iter = objects.begin(); iter != objects.end(); iter++) {
if (condition)
objects.push_back(new Object());
}
但是,当 push_back 发生时,iter
变得不可引用。如果不重置iter
,我如何保持它可取消引用?如果我必须重置它,是否有一种简单的方法可以让 iter 回到以前的位置?