QMap::remove操作,并不会调用值的析构,跟QTreeWidget同类,需要主动去释放

↘锁芯ラ 提交于 2019-12-10 15:28:18
void test_MapRemvoe()
{
    DBOperator * painter = new DBOperator;
    QMap<int , DBOperator*> map;
    map.insert(1, painter);
    DBOperator * painterOther = map.value(1);
    qDebug()<<painterOther;
    map.remove(1);

    qDebug()<<painterOther;
}

15:08:56: Starting E:\Qt_projcet\play\build-play-Desktop_Qt_5_12_2_MinGW_64_bit-Debug\debug\play.exe...

15:10:09: Debugging starts
DBOperator(0x1447800)  //remove前后地址是一样的
DBOperator(0x1447800)  //remove前后地址是一样的
15:10:41: Debugging has finished

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!