社区
语言基础/算法/系统设计
帖子详情
請問SetLength給Array設置長度需不需要手動釋放内存
特兰
2006-08-29 05:10:30
如題,比如我們用GetMem得到的内存就需要自己釋放
...全文
230
10
打赏
收藏
請問SetLength給Array設置長度需不需要手動釋放内存
如題,比如我們用GetMem得到的内存就需要自己釋放
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
特兰
2006-08-31
打赏
举报
回复
如果我没有将数组中的元素设置为nil,就直接setlength 0 ,可以吗?
yinxu
2006-08-30
打赏
举报
回复
这个要根据情况来,如果你的动态数组管理的数据是用GetMem, new等动态创建的,那么是需要的,否则不需要.
SmallMaker
2006-08-30
打赏
举报
回复
setlength之前需要释放内存
Dynamicarr:=nil;
setlength(dynamicArr,10);
OO_is_just_P
2006-08-30
打赏
举报
回复
根本不需要,除非必要。
sunnysmile
2006-08-29
打赏
举报
回复
设置为nil就可以了
AOCOC
2006-08-29
打赏
举报
回复
都说了,JF
小呆之家
2006-08-29
打赏
举报
回复
andyzhou1101(〆.赱 極端(http://lovelcy.blogcn.com)) ( ) 信誉:100 Blog 2006
已讲得很清楚了。
呵~~。手动清除下也是可以的。
var
DynamicArr: arra of byte;
setlength(dynamicArr,10);
....
//Dynamicarr:=nil;
//setlength(DynamicArr,0);
andyzhou1101
2006-08-29
打赏
举报
回复
动态数组是生存期自管理的,所以在用完它们以后没有必要释放,因为在离开作用域时它们会被
释放。然而,可能在离开作用域前,就需要删除动态数组(例如它用了很多内存)。要这么做,仅需要把nil赋值给动态数组
postren
2006-08-29
打赏
举报
回复
不需要
数组的创建与释
放
动态数组的创建: 1,确定数组的类型 ...4,数组的释
放
(一般没必要手动释
放
, 动态数组离开作用域会自释
放
) 代码实例: var StrArr:
array
of String; //动态数组定义时不与维数 begin
Set
Length
(StrArr,6); ...
Delphi 的学习笔记十——数组
1.给动态数组添加元素 type //定义数组类型 TOne
Array
=
array
of Integer; {动态数组添加一个元素} procedure Add
Array
Item(var arr: TOne
Array
;... //设置数组长
度
+1
Set
Length
(arr,
Length
(Arr)+1); Arr
BinaryWriter和BinaryReader和MemoryStream类读写
内存
C#的FileStream类提供了最原始的字节级上的文件读写功能,但我们习惯于对字符串操作,于是StreamWriter和 StreamReader类增强了FileStream,它让我们在字符串级别上操作文件,但有的时候我们还是需要在字节级上操作...
delphi
Array
定义数组
varA:
Array
[0..10]ofInteger;{定义静态数组} procedureTForm1.Button1Click(Sender:TObject); vari:Integer; begin Memo1.Clear; fori:=Low(A)toHigh(A)do begin Randomize; A[i]:=Ra...
Delphi的动态数组
Delphi的动态数组与字符串一样,是生存期自管理类型。...虽然可以用
Set
Length
改变动态数组的长
度
,但是不能在函数内部改变其开
放
数组参数的长
度
(别问偶什么是开
放
数组参数)。如果要改变数组参数的长
度
,...
语言基础/算法/系统设计
16,748
社区成员
33,247
社区内容
发帖
与我相关
我的任务
语言基础/算法/系统设计
Delphi 语言基础/算法/系统设计
复制链接
扫一扫
分享
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章