使用SetLength分配的变长字符串以及动态数组是否需要释放?(100分)

  • 主题发起人 主题发起人 zwjChina
  • 开始时间 开始时间
Z

zwjChina

Unregistered / Unconfirmed
GUEST, unregistred user!
使用SetLength分配的变长字符串以及动态数组是否需要释放?

字符串是生存期自管理类型,应该不需要手动释放
那么动态数组呢?

如果是对象动态数组释放的时候在对数组中每个对象调用Free后
是否不需要使用SetLength(objectArray, 0);或者其他方法来释放当初SetLength分配的内存。
 
最好释放
 
不需要,这两种都是内存自管理类型,会自动释放.
 
动态数组最好释放,字符串是自动回收的。
d:array of intere;
SetLength(d, 3);
d := nil;
 
string 和动态数组是一样的,都是生存期自管理的
 
看类型决定。。。。SetLength(objectArray, 0);像这些类型需要FREE
 
如果定义的是控件数组,应该手动释放,如果是一般类型,不需要。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
928
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
902
DelphiTeacher的专栏
D
后退
顶部