动态数组用完后需要释放吗,怎么释放》?? rt 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一般不用用完后,SetLength(数组,0) 数组是生存期管理型的变量,会自动释放。但有的时候(动态数组占用大量内存的时候),需要手动释放。你可以这样做:var strArray: array of string;begin SetLength(strArray, 100); strArray := nil; //释放end; SetLength(arr,100);SetLength(arr,0); 這是DELPHI封裝的給動態數組分配內存的函數,實質最終也是調用 GetMem AllocMem 這類的來分配內存的。 动态数组有引用计数来自动管理生命周期大多数情况下是不需要手动释放的string也可以看成是动态数组。 动态数组一般情况下是不需要手动释放的,SETLENG(ARR,0); Delphi有自己释放的机制,为何在某些情况下还要手动释放,不解? FastReport Cross-Tab 数据集不变化问题 canvas.copyrect有没有不让他自动缩放的方法(100分)?这里有没有能正经回答问题的了? 请教一个字符串处理问题,关于......大家都会有兴趣的! 怎么样清理从Word转化过来的网页的垃圾代码. 用ADO连接时,怎么实现数据库操作!! 如何在delphi中打开资源管理区窗口 急:在DELPHI6中压缩ACCESS数据库 怎样判断???? 为何在向sql中写入数据时,当前数据会将库中原有数据替代? SQL问题请教: 在發送的郵件中以圖片為底片 如何把在dbgrideh中修改的记录保存到另一个表中?
但有的时候(动态数组占用大量内存的时候),需要手动释放。
你可以这样做:
var
strArray: array of string;
begin
SetLength(strArray, 100);
strArray := nil; //释放
end;
SetLength(arr,100);
SetLength(arr,0); 這是DELPHI封裝的給動態數組分配內存的函數,實質最終也是調用 GetMem AllocMem 這類的來分配內存的。
string也可以看成是动态数组。