【发布时间】:2012-08-07 22:00:43
【问题描述】:
是否有任何特殊原因可以使用 FillChar 初始化 Delphi 整数变量,而不是仅仅为其分配一个初始值?我遇到过如下代码。它不在速度敏感循环或任何东西中。在这里使用 FIllChar,尤其是在对另一个变量进行更传统的赋值之后立即使用,似乎毫无意义地迟钝。那我错过了什么?
procedure DoSomething;
var
MyNum: Integer;
MyPos: Integer;
begin
MyNum:= 0;
FillChar (MyPos, SizeOf (MyPos), 0);
[...]
【问题讨论】:
-
我们只能猜测,但我怀疑您正在寻找一个困惑的开发人员留下的东西。也许他认为这将是额外的零。
-
FillChar旨在用于初始化结构(如数组或记录)而不是用于单个值变量。因此,为了提高可读性,只需使用像MyNum := 0;这样的简单赋值即可。 -
@Ernest 加 1 用于使用非单词 zero-y
-
我第二个@TLama。 “额外的零年”可能是我一天的高潮!
-
我的猜测 - 作者不确定
MyPosvar 最终是否会成为整数类型,并使用了最通用的归零。也可能他在开玩笑:)
标签: delphi initialization integer