我使用一個共享指針向量來包含一些名爲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