共有ポインターのベクトルを使用して、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
}
}
以前はベクトルを使用してオブジェクトを保持していたので、ベクトルで消去を呼び出してイテレータを渡すことに慣れています。私の質問は、上記のコード スニペットのベクトルからポインターを削除する方法はありますか? ここでは、コードを単純化するためにイテレータを使用しないことを望んでいました。また、ポインターが画面から消えると、私はゲームから削除される顧客だったので、ポインターを削除する必要があります。
どうもありがとう