这个for循环可以删除容器lis中所有满足条件:NULL==m_puser[*ite]的元素,迭代删除时,先将迭代指针ite向下移,再删除
for(list<int>::iterator ite=lis.begin();ite!=lis.end();)
{
if(NULL==m_puser[*ite])
{
lis.erase(ite++);
}
else
{
ite++;
}
}
这个for循环可以删除容器lis中所有满足条件:NULL==m_puser[*ite]的元素,迭代删除时,先将迭代指针ite向下移,再删除
for(list<int>::iterator ite=lis.begin();ite!=lis.end();)
{
if(NULL==m_puser[*ite])
{
lis.erase(ite++);
}
else
{
ite++;
}
}
上一篇:基于类的软件复用技术
下一篇:c++获得程序自身所在的目录
干货点:最近review同事代码的时候发现了一个问题,在ArrayList中边遍历边删除多个元素,在提醒同事后就想着写篇文章从源码角度详细聊聊这个问题好了,当然了我也发现很多人其实都不知道这个报错的原理是什么,如果你也不知道,那确实该好好看这篇文章了。 前几天review同事代码的时候发现对方提交了一份list中边遍历边删除的代码,大概是这样的: 初学者咋一看
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M