在Delphi中,如果我将一个布尔数组声明为压缩数组,如:
var
arr: packed array of boolean;
begin
SetLength(arr, 100);
FillChar(arr[0], Length(arr) * SizeOf(arr[0]), True);
end;
这是对的吗?
答案 0 :(得分:2)
在Delphi中packed
在数组上使用时没有任何意义。所有数组元素都是可寻址的。也就是说,每个数组元素的大小至少为一个字节。在Delphi中,不可能在Pascal的其他一些变体中将8个元素打包到单个字节中。
这意味着您对FillChar
的调用将按照您的意图行事。