在测试代码时,发现一个问题:
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 后缀。会不会是这个原因呢?
标签:const,name,删除,value,mUsers,指针,QMap From: https://www.cnblogs.com/kingkaixuan/p/16994604.html