刪除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