我们需要清除整数和字符串变量吗?
Do we need to clear Integer and string variables?
我们需要清除 Integer
和 string
变量吗?
我的意思是在我们使用整型变量后,我们必须将其设为零,字符串变量也必须清除以获得更好的内存性能等等?或者什么都没发生?
编辑:
例如此代码在服务器中 运行 24h/7 并且不要关闭或重新启动服务器并在 5 分钟内调用此过程超过 3000 次。
procedure somejob;
i:integer;
Test1,Test2,Test3,Test4:string;
begin
{Some more job....}
i := {BIG INTEGER};
Test1:= {BIG STRING};
Test2:= {BIG STRING};
Test3:= {BIG STRING};
Test4:= {BIG STRING};
{some more job....}
{we have to clear these variables or not?}
i:= 0;
Test1:= '';
Test2:='';
Test3:='';
Test4:='';
end;
不,在这种情况下您不必清除任何变量。
字符串在 Delphi 中 reference counted。这意味着字符串将在例程执行后自动释放。
整数和其他简单类型在堆栈中分配并在 运行 线程离开例程时消失。
我们需要清除 Integer
和 string
变量吗?
我的意思是在我们使用整型变量后,我们必须将其设为零,字符串变量也必须清除以获得更好的内存性能等等?或者什么都没发生?
编辑:
例如此代码在服务器中 运行 24h/7 并且不要关闭或重新启动服务器并在 5 分钟内调用此过程超过 3000 次。
procedure somejob;
i:integer;
Test1,Test2,Test3,Test4:string;
begin
{Some more job....}
i := {BIG INTEGER};
Test1:= {BIG STRING};
Test2:= {BIG STRING};
Test3:= {BIG STRING};
Test4:= {BIG STRING};
{some more job....}
{we have to clear these variables or not?}
i:= 0;
Test1:= '';
Test2:='';
Test3:='';
Test4:='';
end;
不,在这种情况下您不必清除任何变量。
字符串在 Delphi 中 reference counted。这意味着字符串将在例程执行后自动释放。
整数和其他简单类型在堆栈中分配并在 运行 线程离开例程时消失。