我使用一个共享指针向量来包含一些名为customer的游戏角色。删除一个向量的指针
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
}
}
我已经使用过矢量来保存对象,所以我习惯于在矢量上调用擦除和传入迭代器。我的问题是有没有在上面的代码片段中删除矢量指针的方法?我希望不要在这里使用迭代器来简化代码。我还需要删除指针,因为我是客户一旦离开屏幕就被从游戏中删除。
非常感谢
道歉,我已更新原始帖子以显示此内容。谢谢 – Chris 2013-03-11 16:55:10
这只是乞求错别字。我可能会建议'typedef std :: shared_ptr CustomerPtr;'或类似的? –
BoBTFish
2013-03-11 17:01:21
非常正确@BoBTFish。它确实更有意义。已经更新了我的程序以反映这一点。谢谢 – Chris 2013-03-11 17:04:54