社区
Delphi
帖子详情
关于指针释放的问题
liandian
2000-08-22 08:09:00
我用TList保存一些列动态生成的指针,请问调用TList.Free能释放掉所有的指针吗?
有没有内存漏洞?谢谢!
...全文
188
5
打赏
收藏
关于指针释放的问题
我用TList保存一些列动态生成的指针,请问调用TList.Free能释放掉所有的指针吗? 有没有内存漏洞?谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
JGTM2000
2000-08-24
打赏
举报
回复
TObjectList是可以先释放列表中对象的TList。
Slash
2000-08-23
打赏
举报
回复
delete AList;
AList := 0;
dandycheung
2000-08-23
打赏
举报
回复
顺便说一句,如果你的指针是对象指针,也不要忘记销毁对象。
yinfudan
2000-08-23
打赏
举报
回复
不能
先要
var
i:Integer;
AList:TList;
begin
...
for i:=0 to AList.Count-1 do
Dispose(AList[i]);
然后才能
AList.Free;
end;
andymei
2000-08-22
打赏
举报
回复
不能。
C++
指针
释放
问题
转载自:https://blog.csdn.net/wang13342322203/article/details/81868074侵删 今天看到了一个
问题
,其实在项目中也经常遇到
指针
释放
的
问题
,先看看一个简单的
指针
释放
的
问题
: **************************************
问题
如下: (1)一般在c++类中有成员
指针
的话,会在类的析构函数里
释放
(delete)这个
指针
? (2)基于(1),如果传给这个成员
指针
不是一个堆分配的
指针
,那..
c++ 关于
指针
释放
的
问题
如下图所示: 程序为
指针
a申请了一块内存,然后将
指针
a赋给
指针
b,此时a和b都指向的同一块内存地址。接着delete b,并将b置为空,断点走到18行处,此时变量r是能被赋值的,只是r的值可能是9,也可能是其它的垃圾数据。 因为所谓delete b,意思是
释放
了对a和b所指向内存的所有权(即内存被操作系统回收了),但此时a和b没置nullptr前仍指向这块内存地址,这块内存地址可能不存在了,也可能被其它程序利用了,因此int r = *a就具有不确定性,所谓未定义行为,也就成了野
指针
。 ...
C语言
指针
的
释放
问题
C语言
指针
释放
失败
问题
结构体
指针
释放
问题
当然是需要 这样子,毕竟c里面没有c++的析构函数,这些内存关系 都要 自己处理 第一种情况:name
指针
也申请了堆内存,此时需要
释放
name指向的内存后再
释放
结构体节点
指针
Student *p = (Student*)malloc(sizeof(Student)); // 申请内存:结构体一个节点 if (p == nullptr) { return 0; } p->name = (char*)malloc(sizeof(char) * kNameLen); // 申请内存:name
指针
子函数的
指针
释放
问题
子函数的
指针
释放
问题
释放
的理由
释放
的方法另一种方法 对于刚接触编程的人在子函数数中申请动态空间时可能会心有疑问,我们在子函数中申请的动态空间是否需要
释放
呢?若是需要
释放
又该如何
释放
呢?
释放
的理由 在子函数中申请的动态空间肯定是需要
释放
的,否则会造成内存泄漏。
释放
的方法 如果这个动态空间不是你需要返回的值,则可以直接在子函数中进行
释放
,但是如果你需要将这个动态空间返回上一级函数,则无法在子函数中...
Delphi
5,392
社区成员
262,732
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章