如何释放动态数组?(10分)

  • 主题发起人 主题发起人 TENTODBV
  • 开始时间 开始时间
T

TENTODBV

Unregistered / Unconfirmed
GUEST, unregistred user!
var
Arr:array of array of Integer;
begin
SetLength(Arr,4096,4096);
//......
//不再使用Arr时应该怎样释放Arr?
//是Arr:=nil;
//还是SetLength(Arr,0);
//还是SetLength(Arr,0);Arr:=nil;
//还是无需任何代码,结束当前过程时会自动释放?
end;
 
SetLength(arr,0);
 
Arr:=nil;SetLength(Arr,0);都行;

如果不主动释放,结束当前过程时会自动释放。
 
setlength(arr,0);
 
无需释放,手动释放也是一个好习惯
 
用free也可以吧!
 
SetLength(arr,0)
就可以了。其实不需要.
 
生存期自管理的.
 
不要担心,结束当前过程就会释放的
 
我想在当前过程结束前就释放。
 
SetLength(arr,0);
 
Free好像不行
 
数组是存放在堆中的,不需要手工释放!
 
一般公共的我干预它一下。
 
SetLength(arr,0);
 
后退
顶部