在Delphi中,set
如何在内存中组织?集合的内存布局
我尝试做的是铸造一个简单类型的一组类型像
var
MyNumber : Word;
ShiftState : TShiftState;
begin
MyNumber:=42;
ShiftState:=TShiftState(MyNumber);
end;
德尔福(2009年)将不会允许这一点,我不明白为什么。如果我得到一个数字,其中单个位编码不同的枚举值并且我可以像这样进行投射,那么这会让我的生活变得更加轻松。这可以做到吗?
一种方法我会去为:
var
ShiftState : TShiftState;
MyNumber : Word absolute ShiftState;
begin
MyNumber:=42;
end;
但这样做我认为我会问的内存布局之前。这比我知道我现在对此有更多的感受。
Cosmin,非常感谢您对它进行总结!我也非常喜欢阅读关于链接文章中的测试,并推荐大家阅读!现在一切都很清晰,我和编译器都很开心:) – 2011-06-07 07:29:27