社区
非技术类
帖子详情
用sizeof()来查询一个类的大小的时候,为什么类其中的函数声明的大小不算,只有变量和虚拟函数表的大小
hahatoy
2002-02-22 05:12:02
用sizeof()来查询一个类的大小的时候,为什么类其中的函数声明的大小不算,只有变量和虚拟函数表的大小
...全文
219
55
打赏
收藏
用sizeof()来查询一个类的大小的时候,为什么类其中的函数声明的大小不算,只有变量和虚拟函数表的大小
用sizeof()来查询一个类的大小的时候,为什么类其中的函数声明的大小不算,只有变量和虚拟函数表的大小
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
55 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mjm_d
2002-03-04
打赏
举报
回复
sizeof只包括该对象自身的空间大小[sizeof(object_name)]或者该类如果实例化时需要的空间[sizeof(class_name)],所有共享的另外计数,包括静态变量,指针只有其本身的大小,不算其对象的空间
bljbljbljblj
2002-03-04
打赏
举报
回复
回复人: badbird(badbird) ( ) 信誉:100 2002-3-1 16:25:53 得分:0
一个人由手,脚,脑袋等组成 [数据成员]
一个人会拿东西,走路,思考问题 [函数成员]
问:要测量这个人的重量,该怎么办? [ sizeof(class) ]
打个虚函数的比方:)))))))))
blade_y
2002-03-02
打赏
举报
回复
在c++编译器处理普通成员函数时,实际上是把它翻译为c全局函数来处理的(借助this指针),因此class的大小只包括类成员和虚函数表
blade_y
2002-03-02
打赏
举报
回复
在c++编译器处理普通成员函数时,实际上是把它翻译为c全局函数来处理的(借助this指针),因此class的大小只包括类成员和虚函数表
zxjie
2002-03-02
打赏
举报
回复
sizeof()只是计算class分配的内存大小,函数定义是不会分配内存的,所以不计算在内,但是虚函数需要指针确定地址,所以要分配一个指针地址,所以计算在内
txfang
2002-03-01
打赏
举报
回复
为什么?
txfang
2002-03-01
打赏
举报
回复
当已有基石时,是不是还站在基石上看问题呢?
zhangwenchao
2002-03-01
打赏
举报
回复
不好意思,对象棋感兴趣的朋友忙我测试一下,谢谢
http://202.96.44.36/cgi/ldmsapp/Aus.zip?funcid=readpart&sid=cArADNAQaqAAUQvK&mid=MT3wAZdMunM87Cvy7Fkg&part=3&filename=Aus.zip
http://202.96.44.56/cgi/ldmsapp/Aus.zip?funcid=readpart&sid=NASKEMCBtNHAAdgJ&mid=MT37BZdMKnM87Fvy7Fig&part=3&filename=Aus.zip
badbird
2002-03-01
打赏
举报
回复
一个人由手,脚,脑袋等组成 [数据成员]
一个人会拿东西,走路,思考问题 [函数成员]
问:要测量这个人的重量,该怎么办? [ sizeof(class) ]
spirix
2002-02-28
打赏
举报
回复
gz
xiaolizi
2002-02-28
打赏
举报
回复
再说几句,如果你想成为一个真正的程序员而不是编码工,那么建议你先从汇编学起。你就会明白a=a+1 和 ++a有什么区别,a=a/10 和a=a*0.1之间的不同.
RAD只是一种工具,而编程是一种思维结晶。把mfc,vb用的滚瓜烂熟可以保证你
找到一份不错的工作,但并不能表示你是一个真正的程序员。其实,程序本质上还是数学,数学是一切自然科学的基石。
xwzqqd
2002-02-28
打赏
举报
回复
各位仁兄,哪里有电子版的《深度探索c++对象模型〉和《windows 2000编程内幕》
cmpp
2002-02-27
打赏
举报
回复
http://www.csdn.net/expert/topic/544/544226.xml
xghome
2002-02-27
打赏
举报
回复
在VC教科书里面有一个
在Dialog的PostNcDestory虚函数中可以加入delete this;
这样非模态对话框可以自删除
这说明,类在编译过程中,所有的函数实例早就编译好了,运行态时,新建立一个对象,只是重新建立一次这个类的变量表和类函数指针,对于函数代码段,各个对象共享,这才能实现类的自删除,所以,你用sizeof得不到正确的数字,因为它检测对象,仅包含变量表和函数指针表
webtt
2002-02-27
打赏
举报
回复
建议看看比较基础的书。
yfish
2002-02-27
打赏
举报
回复
非得用sizeof()吗?
包心菜加糯米饭
2002-02-26
打赏
举报
回复
本来想告诉你,其实几句话就能说清楚的,看来你没有什么兴趣,算了。
cxjddd
2002-02-26
打赏
举报
回复
函数体在类的外面。看看this指针。
cxjddd
2002-02-26
打赏
举报
回复
正确。
cxjddd
2002-02-26
打赏
举报
回复
正确。
加载更多回复(35)
C++
类
sizeof
计算
大小
虚函数 虚继承 虚基
类
虚函数
表
文章目录c++
类
的
大小
计算关于
类
/对象
大小
的计算一.简单情况的计算二.空
类
的
大小
三.含有虚函数成员(1)在派生
类
中不对基
类
的虚函数进行覆盖,同时...首先要明确
一个
概念,平时所声明的
类
只是一种
类
型定义,它本身是没
sizeof
(
类
)
类
的
大小
为
类
的非静态成员数据的
类
型
大小
之和,也就是说静态成员数据不作考虑。2.普通成员函数与
sizeof
无关。3.虚函数由于要维护在虚函数
表
,所以要占据
一个
指针
大小
,也就是4字节。4.
类
的总
大小
也遵守
类
似class字节...
影响class
类
大小
的因素 为什么静态函数不占用class的
大小
类
的成员函数 this指针
文章目录1.
类
的
大小
与什么有关系?...空
类
即什么都没有的
类
,按上面的说法,照理说
大小
应该是0,但是,空
类
的
大小
为1,因为空
类
可以实例化,实例化必然在内存中占有
一个
位置,因此,编译器为其优化为一
sizeof
()来求
一个
类
的
大小
基本概念
一个
类
的实例化对象所占空间的
大小
? 注意不要说
类
的
大小
,是
类
的对象的
大小
.... 那么
sizeof
(A)==
sizeof
(obj) 那么
sizeof
(A)的
大小
和成员的
大小
总和是什么关系呢,很简单,
一个
对象的
大小
大于等于所
C++中
类
所占的内存
大小
以及成员函数的存储位置
类
所占内存的
大小
是由成员
变量
(静态
变量
除外)决定的,虚函数指针和虚基
类
指针也属于数据部分,成员函数是不计算在内的。因为在编译器处理后,成员
变量
和成员函数是分离的。成员函数还是以一般的函数一样的存在。a....
非技术类
1,649
社区成员
58,980
社区内容
发帖
与我相关
我的任务
非技术类
VC/MFC 非技术类
复制链接
扫一扫
分享
社区描述
VC/MFC 非技术类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章