当前位置: 代码迷 >> QT开发 >> 一个内存释放有关问题,百思不得其解
  详细解决方案

一个内存释放有关问题,百思不得其解

热度:201   发布时间:2016-04-25 05:10:08.0
一个内存释放问题,百思不得其解,请教各位
C/C++ code
class myDialog: public QDialog{public:    myDialog();    ~myDialog();private:    QDirModel *m_pDirModel;};myDialog::myDialog(){    ui.setupUi(this);    m_pDirModel  = new QDirModel( this );    ui.m_pTree->setModel( m_pDirModel );//ui是对话框资源,m_pTree是一个QTreeView}myDialog::~myDialog(){    if (m_pDirModel)        delete m_pDirModel;}

我想我的代码没什么问题吧,可是每次打开对话框,然后关闭,内存就会比打开前多一点,不断打开关闭,内存会不断上升,不知道哪儿泄漏了,请各位赐教!

------解决方案--------------------
指针被delete之后,按道理说,它所指向的空间已经被释放.但实际上操作系统出于效率和管理的考虑,内存空间是按照4KB大小分配的,你分配的4B大小的整数常常和别的变量空间在一个4KB页内,只有全都释放的情况下,才可能真正释放。
  相关解决方案