社区
VCL组件使用和开发
帖子详情
这些内存会自动释放吗?
gzRedflash
2004-11-22 03:02:28
现在小弟遇到些问题。
在使用一些控件的时候,例如,treeview或者tcheckboxlist的时候,在增加item的时候。我使用了AddChildObject,在每个item上附加上了一个动态增加的指针对象。
TmyClass *pTmp;
pTmp = new TmyClass;
如 Tree->Items->AddChildObject(NULL,"名称",pTmp);
这些指针对象是否需要我自己去显式的去释放呢?如果不释放是否有问题?
...全文
118
5
打赏
收藏
这些内存会自动释放吗?
现在小弟遇到些问题。 在使用一些控件的时候,例如,treeview或者tcheckboxlist的时候,在增加item的时候。我使用了AddChildObject,在每个item上附加上了一个动态增加的指针对象。 TmyClass *pTmp; pTmp = new TmyClass; 如 Tree->Items->AddChildObject(NULL,"名称",pTmp); 这些指针对象是否需要我自己去显式的去释放呢?如果不释放是否有问题?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jishiping
2004-11-22
打赏
举报
回复
当然了,你的程序结束后,Windows还是会自动回收这些内存的。但是你的程序没有结束的话,这些内存就永远不会回收,系统的可用内存就会越来越少。
jishiping
2004-11-22
打赏
举报
回复
需要自己释放。因为这儿的第三个参数,是一个任意类型的指针,VCL无法知道它是什么类型的,所以肯定需要程序自己释放。如果不释放,会产生什么问题还要说?就是内存无法回收,系统的可用内存越来越少呗。
3996906
2004-11-22
打赏
举报
回复
自己写的这个TmyClassVCL是不会帮你释放的,不过你可以把要释放的封装好,写在一个函数里,调用一次就好了
gzRedflash
2004-11-22
打赏
举报
回复
你说的也有道理。但是有的时候,当自己也没有办法确认什么时候来释放的时候。就有问题了。
有人对这个方式的内存管理熟悉的吗?
Maconel
2004-11-22
打赏
举报
回复
这个类不大了解,一般来说,凡是属于vcl的类,它会被它的owner来自动的释放。
但是不管会不会自动释放,都建议你自己手动来释放,自己拉的屎,干吗让别人给你擦屁股呢。
C++动态
内存
会
被
自动
释放
吗?
C++动态
内存
会
被
自动
释放
吗? 函数体内的局部变量在函数结束时
自动
消亡。很多人误以为示例7-6是正确的。理由是p是局部的指针变量,它消亡的时候
会
让它所指的动态
内存
一起完蛋。这是错觉! void Func(void) { char *p = (char *) malloc(100); // 动态
内存
会
自动
释放
吗? } ...
Go的sync.map删除元素,
内存
会
自动
释放
吗?
sync.map是什么? 请参照博客:Go1.9 sync.Map揭秘 go的原生map删除元素,
内存
会
自动
释放
吗? 请参照博客:Go的原生map中删除元素,
内存
会
自动
释放
吗? 先说结论: 如果删除的元素是值类型,如int,float,bool,string以及数组和struct,map的
内存
不
会
自动
释放
如果删除的元素是引用类型,如指针,slice,map,chan等,map的
内存
会
自动
...
进程终结后, 泄露的堆
内存
会
自动
释放
吗?
看来个问题, 进程终结后, 泄露的堆
内存
会
自动
释放
吗? 当然
会
! 这些堆
内存
都是与进程生死相关的。 所以, 在很多时候: 1. 重启后台服务是可以
释放
泄露的
内存
的, 可以用于临时解决问题。 2. 单例中的堆
内存
, 不需要人为主动
释放
。 我们几乎看不到代码中有
释放
单例的操作。
linux 用户进程结束后 malloc申请的
内存
会
自动
释放
吗,进程退出后malloc的
内存
是否
会
被
释放
?(
内存
泄露问题)
当一个进程退出后,不管是正常退出或者是异常退出,操作系统都
会
释放
这个进程的资源。包括这个进程分配的
内存
,打开的文件等等。
内存
泄露的前提是进程一直在运行;进程一旦退出,所占的整个虚拟
内存
都被销毁,所有
内存
资源都
会
被系统回收。 参考文章:linux 用户进程结束后 malloc申请的
内存
会
自动
释放
吗,进程退出后malloc的
内存
是否
会
被
释放
??… ...
Go的原生map中删除元素,
内存
会
自动
释放
吗?
对于频繁增删map的场景,我们很关心map的
内存
是否
会
自动
释放
。 先说结论: 如果删除的元素是值类型,如int,float,bool,string以及数组和struct,map的
内存
不
会
自动
释放
如果删除的元素是引用类型,如指针,slice,map,chan等,map的
内存
会
自动
释放
,但
释放
的
内存
是子元素应用类型的
内存
占用 将map设置为nil后,
内存
被回收 实验 以子元素是整形和...
VCL组件使用和开发
604
社区成员
13,459
社区内容
发帖
与我相关
我的任务
VCL组件使用和开发
C++ Builder VCL组件使用和开发
复制链接
扫一扫
分享
社区描述
C++ Builder VCL组件使用和开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章