记不住,最后还是决定写一篇博客
你应该这样:
for(list<int>::iterator iter = m_list.begin(); iter != m_list.end(); )
{
if(需要删除)
{
iter = m_list.erase(iter);
}
else
++iter;
}
而不是这样:
for(list<int>::iterator iter = m_list.begin(); iter != m_list.end(); ++iter)
{
if(需要删除)
{
m_list.erase(iter);
}
}