QMap 删除指针内容时的一个问题

在测试代码时,发现一个问题:

void UserManager::removeUser(const QString &name)
{    
    QMap<QString, User*>::Iterator it;    
    it = mUsers.find(name);
    if (it != mUsers.end())
    {
        delete  it.value();
        mUsers.erase(it);
    }
}

  测试时,该函数的测试结果有时显示,有时不显示。很好奇,到底是哪里出了问题。

Debug 运行时,都是正常的。

       事出反常,必有妖。

       仔细观察这段代码,发现,it.value() 有个const 后缀。会不会是这个原因呢?

 

posted on 2022-12-20 16:48  金凯旋  阅读(266)  评论(0)    收藏  举报

导航