删除map容器中指定的元素


for (std::map<Int64,Int64>::iterator iter = ips_forbidden_.begin(); iter != ips_forbidden_.end();)
{
  if (cur_time >= iter->second)
  {

  ips_forbidden_.erase(iter++);
  }
  else
  {
    ++iter;
  }
}

iter++返回当前的元素,而operator(int)内部已经对iter进行了+1操作,使iter指向下一个元素,这样iter就继续有效了


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM