在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