相关疑难解决方法(0)

从向量中删除项目,而在C++ 11范围内'for'循环?

我有一个IInventory*的向量,我正在使用C++ 11范围循环遍历列表,以便对每个进行处理.

在做了一些东西之后,我可能想要从列表中删除它并删除对象.我知道我可以随时调用delete指针来清理它,但是在范围for循环中,从矢量中删除它的正确方法是什么?如果我从列表中删除它将使我的循环失效?

std::vector<IInventory*> inv;
inv.push_back(new Foo());
inv.push_back(new Bar());

for (IInventory* index : inv)
{
    // Do some stuff
    // OK, I decided I need to remove this object from 'inv'...
}
Run Code Online (Sandbox Code Playgroud)

c++ for-loop vector c++11

91
推荐指数
4
解决办法
6万
查看次数

标签 统计

c++ ×1

c++11 ×1

for-loop ×1

vector ×1