gpt4 book ai didi

delphi - TObject 包含哪些数据?

转载 作者:行者123 更新时间:2023-12-03 14:43:20 26 4
gpt4 key购买 nike

TObject.InstanceSize 返回 8,但 TObject 未声明任何数据成员。根据TObject.ClassType的实现,前4个字节可以解释为指向对象的TClass元数据的指针。有人知道另外 4 个字节的开销是做什么用的吗?

编辑:显然这是 D2009 特有的。在旧版本中,它只有 4 个字节。

最佳答案

在Delphi 2009中,有the ability to have a reference to a synchronization monitor 。请参阅:

class function TMonitor.GetFieldAddress(AObject: TObject): PPMonitor;
class function TMonitor.GetMonitor(AObject: TObject): PMonitor;

...在 System.pas 中

此外,还有一个指向 VMT 的指针。 (虚拟方法表。)From Delphi in a Nutshell:

The TObject class declares several methods and one special, hidden field to store a reference to the object's class. This hidden field points to the class's virtual method table (VMT). Every class has a unique VMT and all objects of that class share the class's VMT.

关于delphi - TObject 包含哪些数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/679022/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com