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就繼續有效了