首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

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

2012-02-01 
一个内存释放问题,百思不得其解,请教各位C/C++ codeclass myDialog: public QDialog{public:myDialog()~m

一个内存释放问题,百思不得其解,请教各位

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页内,只有全都释放的情况下,才可能真正释放。

热点排行