社区
界面
帖子详情
应该在哪里释放内存?
alamb
2003-08-30 12:48:56
继承了ClistCtrl,由于程序的需要,在插入一行数据之后通过SetItemData把一个指针(指向一个新请求的内存)设置到该行的data里。
当窗口被关闭时,我需要把分配的内存释放掉,那么应该重载CListCtrl的哪个成员函数或者响应哪个消息呢?
...全文
52
8
打赏
收藏
应该在哪里释放内存?
继承了ClistCtrl,由于程序的需要,在插入一行数据之后通过SetItemData把一个指针(指向一个新请求的内存)设置到该行的data里。 当窗口被关闭时,我需要把分配的内存释放掉,那么应该重载CListCtrl的哪个成员函数或者响应哪个消息呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
triout
2003-08-30
打赏
举报
回复
呵呵,对于窗体继承类中分配的内存空间,如果在析构函数中释放会导致失败。
我的做法是拦截WM_CLOSE函数,在WM_CLOSE中释放。
triout
2003-08-30
打赏
举报
回复
看你的具体情况了,
一般在析构函数中,但如果你能确认内存不再使用了,应该立即释放。
另外,析构函数只释放全局的或类变量的,对于函数内部局部定义的变量,应该在函数退出前释放,否则,你分配的内存将成为孤岛,没有办法释放了。
bcpl
2003-08-30
打赏
举报
回复
映射LVN_DELETEITEM消息,设你的指针指向一个CItemInfo对象。
void CDiskListView::OnDeleteItem(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pnmlv = (NM_LISTVIEW*)pNMHDR;
delete (CItemInfo*)pnmlv->lParam;
*pResult = 0;
}
这种处理方式确保ItemData中的相关数据与ListItem的生存期保持一致。
alamb
2003-08-30
打赏
举报
回复
bcpl(林平之)的方法可行,另外WM_DESTROY也可以,昨晚头晕晕搞错了。不过还是在LVN_DELETEITEM消息里面处理最妥当。谢谢各位。
wwww2
2003-08-30
打赏
举报
回复
在WM_DESTROY里面我记得我原来用过是可以的,你确定是先做处理再调用系统默认DESTROY函数?
smch
2003-08-30
打赏
举报
回复
总之是在退出的必经函数中。
smch
2003-08-30
打赏
举报
回复
析构函数中。
alamb
2003-08-30
打赏
举报
回复
不能在析构函数里面处理,因为执行析构函数的时候已经不能使用GetItemData了。
我试过在WM_DESTROY里面处理,但是一样不能用GetItemData,WM_CLOSE好像拦截不到,不知道是不是方法不对。
LVN_DELETEITEM的方法我试一下……
PHP什么时候
释放
内存
???5
0PHP什么时候
释放
内存
???5经测试,unset,和=null都不能够达到
释放
内存
的效果。即不是立即
释放
。 请问在将变量unset或=null之后,变量之前引用的
内存
空间什么时候
释放
?还是说只能等待系统回收?问题补充:xieye 写道程序执行完
应该
回收吧那就是程序执行完成之前
内存
空间一直被占用???我unset,=null之后发现进城的
内存
空间没有
释放
。PHP 2011年3月24日 14:42l
python processpoolexector
释放
内存
_Python多进程--进程完成时如何
释放
内存
?
我在使用python多处理库时遇到了一个奇怪的问题。下面是我的代码草图:我为每个“symbol, date”元组生成一个进程。后来我把结果结合起来。我希望当一个进程完成了“symbol, date”元组的计算时,它
应该
释放
它的
内存
?在进程完成计算之后,我如何让它
释放
它的
内存
呢?我指的是他们在ps命令中的状态,显示为“S+”。def do_one_symbol( symbol, all_date_s...
C++动态
内存
会被自动
释放
吗?
C++动态
内存
会被自动
释放
吗? 函数体内的局部变量在函数结束时自动消亡。很多人误以为示例7-6是正确的。理由是p是局部的指针变量,它消亡的时候会让它所指的动态
内存
一起完蛋。这是错觉! void Func(void) { char *p = (char *) malloc(100); // 动态
内存
会自动
释放
吗? } ...
python循环中
释放
内存
的方法_我怎样才能在Python中明确
释放
内存
?
我在从文件中读取图表时遇到了类似的问题 . 处理包括计算不适合存储器的200 000x200 000浮点矩阵(一次一行) . 试使用 gc.collect()
释放
计算之间的
内存
来修复问题的
内存
相关方面但是它导致性能问题:我不知道为什么但是即使使用的
内存
量保持不变,每次调用 gc.collect() 的时间也要花费更多时间比前一个 . 很快,垃圾收集占用了大部分的计算时间 .为了解决
内存
和性能问题...
oracle 不
释放
内存
,
内存
不
释放
?解决方法
内存
不
释放
???本帖最后由 afeideweixiao 于 2012-04-24 11:49:50 编辑各位好!请教个问题,我不断地往oracle里插入数据,oracle会出现
内存
不断飙升,o只到电脑
内存
不足而挂掉。系统为WINDOWS2003,刚开启时,ORACLE.EXE使用
内存
为200M左右,任务管理器下的显示
内存
使用为1020M/3428M;运行几个小时后,ORACLE.EXE使用
内存
变...
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章