STL中迭代器删除时,要注意 earse后迭代器释放了,使用方法:
map<string,LoginInfo>::iterator it = pDev->m_LoginInfo.begin();
for(;it!= pDev->m_LoginInfo.end();)
{
HPR_UINT32 uiNowTime = HPR_GetTimeTick();
if(删除)
{
it = pDev->m_LoginInfo.erase(it); //map的erase方法在释放了it后会返回指向下一个元素的指针来获取最新的iterator
或者 pDev->m_LoginInfo.erase(it++);
}
else
{
it++;
}
STL earse操作
最新推荐文章于 2022-04-07 12:15:16 发布