標準ライブラリList使用上の注意
427 ワード
Listは遍歴中に注意する必要がある:
*iterはBullet*を指し、eraseを使用した後にiterに割り当てる必要があります.そうしないとvector iterators incompatibleエラーが発生します.
*iterはBullet*を指し、eraseを使用した後にiterに割り当てる必要があります.そうしないとvector iterators incompatibleエラーが発生します.
for(std::list<Bullet*>::iterator iter = m_list.begin(); ;)
{
if(!(*iter)->IsOutSides())
{
(*iter)->Render();
iter++;
}
else
{
iter = m_list.erase(iter);
}
if(m_list.size() <= 0 || iter == m_list.end())
break;
}