我使用一个共享指针向量来包含一些称为客户的游戏角色。
typedef std::shared_ptr<Customer> customer;
std::vector<customer> customers;
customers.push_back(customer(new Customer()));
for(int i = 0; i < customers.size(); i++)
{
if(customers[i]->hasLeftScreen())
{
if(!customers[i]->itemRecieved())
outOfStocks++;
// Kill Character Here
}
}
我以前使用向量来保存对象,所以习惯于在向量上调用擦除并传入迭代器。我的问题是有没有办法从上述代码片段中的向量中删除指针?我希望不要在这里使用迭代器来简化代码。我还需要删除指针,因为我是离开屏幕后要从游戏中删除的客户。
非常感谢