gpt4 book ai didi

arrays - 使用后数组的长度是否应该设置为零?

转载 作者:行者123 更新时间:2023-12-03 18:13:07 24 4
gpt4 key购买 nike

我想知道在使用后将 Delphi 的数组长度设置为 0 是否正确。

var
MyArray : array of TObject;
begin
SetLength(MyArray, N);
// do something with MyArray (add items and use it..)
SetLength(MyArray, 0);
end;

为什么我应该将长度设置为 0?

最佳答案

假设 MyArray 是一个局部变量,那么根本没有理由在所提供的代码中完成该变量。一旦变量离开作用域,它就会被终结。明确地这样做没有任何好处。

然而,有时您有一个变量,其作用域比您对数组的使用要长得多。在这些情况下,一旦完成变量就将其最终化以返回内存会很有用。

我个人比较喜欢

MyArray := nil;

Finalize(MyArray);

在我看来,这更容易跳出作为最终声明。你的

SetLength(MyArray, 0);

在浏览代码时看起来像是在分配。

关于arrays - 使用后数组的长度是否应该设置为零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37156754/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com