Dav*_*nan 15
如果没有预处理器或内置函数,就没有办法像offsetof宏一样干净利落地完成它.offsetof能够如此干净地完成它的方式是预处理器完成工作.事实上,有些编译器将它作为内置实现,但这不是重点.Delphi没有预处理器,也没有内置处理器offsetof.
我所知道的最干净的解决方案是这样的:
NativeUInt(@TMyRecord(nil^).MyField)
Run Code Online (Sandbox Code Playgroud)
但这就像干净一样
offsetof(struct MyStruct, MyField)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
585 次 |
| 最近记录: |