instancesize and sizeof(10分)

  • 主题发起人 主题发起人 kenmen
  • 开始时间 开始时间
K

kenmen

Unregistered / Unconfirmed
GUEST, unregistred user!
请问instancesize 和sizeof得出来的结果有何不同?
谢了!
 
大家说说话啦。。。。
请!!!!!!!!!!!!!!!
 
sizeof只能给出固定类型大小
 
大家能说说吗?我真的不明。
请!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
有人在吗?
斑竹能答吗?
 
对Class来说,instancesize应该是类的实例的实际占用内存空间的大小
除了你看得见的数据以外,在类的开头还有一个指针(4 Bytes)指向类的类型信息
如ParentClass、Function入口等信息(这一行的可靠性大约为70%)
我用VC和Delphi通过TCP/IP传递对象,就遇到了这个问题。
一定要把得到的指针的值加上4以后,再把其后的内容发给对方。(读取过程也一样)
 
那就是说,sizeof是减去了那4 Bytes?
 
还是你自己看看帮助算了
 
to wjiachun
帮助是英文的,难看明,能高抬贵手谢谢吗????
:)
 
在 C++ Builder:
一般来说,sizeof和InstanceSize得到的数字一样。
只是sizeof是编译时就已经算出来的常数了,InstanceSize是根据运行时信息
得到的。
特殊条件下,比如,mainform是你的主窗口TMainForm的指针,
TComponent* p=mainform;
sizeof(*p) 得到的是TComponent的InstanceSize
而p->InstanceSize()得到的是TMainForm的InstanceSize,而不是TComponent的

在delphi,对于对象,sizeof得到的数好象没什么用,总是4

 
只好均分了:(
 
多人接受答案了。
 
后退
顶部