标准库List使用注意

List在遍历中需要注意:

*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;

}



你可能感兴趣的:(list)