问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

使用sizeof计算类的大小

发布网友 发布时间:2022-10-05 15:37

我来回答

5个回答

热心网友 时间:2023-10-19 13:17

类的sizeof大小一般是类中的所有成员的sizeof大小之和,这个就不用多说。
不过有两点需要注意:1)当类中含有虚成员函数的时候,例如:
class B
{
float a;
public:
virtual void fun(void);
}
此时sizeof(B)的大小为8,而不是4。因为在类中隐藏了一个指针,该指针指向虚函数表,正因为如此,
使得C++能够支持多态,即在运行时绑定函数的地址。
2)另一个要注意的是,当类中没有任何成员变量,也没有虚函数的时候,该类的大小是多少呢?
例如:
class B2
{
void fun(void);
}
此时sizeof(B2)的值是多少呢?在C++早期的编译器中,这个值为0;然而当创建这样的对象时,
它们与紧接着它们后面的对象有相同的地址。比如:
B2 b2;
int a;
那么对象b2与变量a有相同的地址,这样的话对对象b2地址的操作就会影响变量a。所以在现在大多数编译器中,该值的大小为1。

如果有虚函数,则sizeof值为类的数据成员的大小加上VTBL(指针,4字节),再加上其基类的数据成员的大小。如果是多重继承,还得加上各基类的VTBL。

这个问题很麻烦.. 下面有更详细的自己看下

http://rkfang.cnblogs.com/archive/2004/10/10/50599.aspx

热心网友 时间:2023-10-19 13:18

class 1 2 3 4 5 6 7 8 东南西北中发白 十三幺

热心网友 时间:2023-10-19 13:18

多重继承,太烂了,C++里最烂的东西。

除了这个,以上的都还可以理解。

还有,sizeof如果不用在内存分配上,基本没什么用了。
比如malloc(n*sizeof(t))
又因为C++已经可以用new x[y]这种语法,根本用不上sizeof了

热心网友 时间:2023-10-19 13:19

眼花啊,类的特性很难啊

热心网友 时间:2023-10-19 13:20

这个,楼主太厉害了看的我眼都花了
使用sizeof计算类的大小

类的sizeof大小一般是类中的所有成员的sizeof大小之和,这个就不用多说。不过有两点需要注意:1)当类中含有虚成员函数的时候,例如:class B { float a;public:virtual void fun(void);} 此时sizeof(B)的大小为8,而不是4。因为在类中隐藏了一个指针,该指针指向虚函数表,正因为如此,使得C++...

利用sizeof函数计算c语言各种数据类型所占用的空间?

在 C 语言中,可以使用 sizeof 运算符来计算不同数据类型所占用的空间大小。sizeof 运算符的语法格式如下:sizeof(type)其中,type 是数据类型,可以是 int、char、float、double、struct、union 等等。下面是常见数据类型在 64 位系统中所占用的空间大小:char:1 字节 short:2 字节 int:4 字节 ...

sizeof是求什么的?

sizeof是计算数据(包括数组、变量、类型、结构体等)所占内存空间,用字节数表示(当然用在字符数组计算"\0"的大小)。在32位的系统中,sizeof(int)的值为4。如果x是int型的数组,则sizeof(x)/sizeof(int)代表x的位数。

sizeof求数组大小

用 sizeof(数组名) 即可。计算结果 是 该数组 占内存的 大小,单位是字节。例如:int x[10];double y[10];int a[4][5];printf("x:%d y:%d a:%d\n", sizeof(x), sizeof(y),sizeof(a));输出: x:40 y:80 a:80 另外,数组有多少个元素,可用 sizeof(数组名)/sizeof(...

c语言详解sizeof

sizeof 是 C 语言中的一种单目操作符,类似于 ++、-- 等操作符,并非函数。它以字节形式给出操作数的存储大小,操作数可以是表达式或括在括号内的类型名。操作数的存储大小由其类型决定。sizeof 的使用方法多样,例如用于数据类型、变量、指针和数组。在用于变量时,大小写形式如 sizeof(var_name) ...

sizeof("\ n")返回多少字节?

sizeof() 不是函数,而是“运算符”,而且是 “一目运算符"它用来计算 “数据类型” 占用的内存大小,单位是字节。例如:sizeof(int), --数据类型 int sizeof(double), -- 数据类型 double sizeof(struct stu), -- 数据类型 结构stu sizeof(int *), --数据类型 整型指针 ...

使用sizeof(S1)获取到得该结构体得大小是多少

4.结构体的大小必须为结构体对齐参数的整数倍;根据上述规则,分析你给出的结构体,假设结构体地址为0x1000 成员变量a的对齐参数为MIN(sizeof(int), 4) = 4,起始地址为0x1000,与结构体地址相同;成员变量b的对齐参数为MIN(sizeof(int), 4) = 4,起始地址为0x1004,与结构体地址的偏移为0x...

sizeof( int)是什么意思?

sizeof是计算数据(包括数组、变量、类型、结构体等)所占内存空间,用字节数表示(当然用在字符数组计算"\0"的大小)。在32位的系统中,sizeof(int)的值为4。如果x是int型的数组,则sizeof(x)/sizeof(int)代表x的位数。探究的一般过程是从发现问题、提出问题开始的,发现问题后,根据自己已有的...

sizeof(int)是什么意思?

sizeof(int)=2。比如这里x应该是个int型数组,那么用这个数组的大小,除以int型数据的大小,就得到这个数组的长度。sizeof是计算数据(包括数组、变量、类型、结构体等)所占内存空间,用字节数表示。在32位的系统中,sizeof(int)的值为4。如果x是int型的数组,则sizeof(x)/sizeof(int)代表x的...

sizeof()是什么意思?

sizeof() 是一种内存容量度量函数,功能是返回一个变量或者类型的大小(以字节为单位)。char是c语言中基本类型,一般char类型占1个字节。sizeof(char)的结果是,1。sizeof:计算数据类型长度 char = 1 int 2,long 4 int a[6];sizeof (a) 2*6= 12 单位都是字节。float 4 ...

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
盗墓笔记s不是说是周播剧每周五更新吗?怎么只播了几周就播完了,是什 ... 盗墓笔记电视剧每周几时更新共多少集 盗墓笔记,好久出来,在哪个台 盗墓笔记一周更新几集呢? 盗墓笔记在哪个频道播出? 坪山比亚迪15部怎么样?是做什么的? 盗墓笔记星期几更新 域用户是什么意思? 盗墓笔记每周五几点呀? 坪山比亚迪招聘要二次进厂的吗 07版word文档中分页符前后字体相一致 我家的力克全自动裁剪机刀片为什么需要经常更换? 断续切削使用什么刀片好 矜宸本帮素鸭的做法步骤图,怎么做好吃 男士秋冬攻略之如何挑选夹克? 入秋了,有什么好的男茄克外套吗?想给老公买 两件夹克衫都以120元售出,一件赚了1/5,另一件赔了1/5,请你算一算卖出这两件衣服是赔了还是赚了?若赚 买四件同样的夹克衫,要用680元,如果这些钱去买裤子,可以买八条,有条裤子比每件夹克衫便宜多少元? 长按复制这条信息,打开手机淘宝即可看到【2015秋季新品大码品牌女装短外套棒球服女夹克开衫 服装店夹克衫40件1件35元t恤31件20元某天收入1500元最少卖多少件? 宝马牌夹克衫值多少钱 江南素鸭的做法,江南素鸭怎么做好吃,江南素鸭的家常 直角三角形两个边的平方是否等于斜边的平方 小龟王电动车和女皇电动自行车选择 小龟王的车后胎 3.5-10的,我想换个宽点的轮胎 雅迪小龟王A/C-W什么意思 小龟王电动车原装轮毂多少寸? 本田复古小龟王 50CC 2冲程 轮胎尺寸配多少的? 利捷小龟王型号 考科二上车需要注意哪些细节 带有指针数组的结构体类型大小怎么计算 如何计算自定义类类型的大小 C++ 中 sizeof 如何计算 一个多重虚拟继承的类的大小? 客厅鱼缸上面墙能挂照片吗 简述屋面雨水的外排与没排 原地推铅球教学视频 原地推铅球训练方法 骐达轮胎是多大? 有组织排水的优缺点和适用范围是什么? 学习英语的四个禁区,小伙伴们知道是什么吗,可以聊一聊吗? 货车换大梁需要什么东西到车管所里面备案 汽车换大梁要哪些手续? 半挂车换过大梁怎么往外省提户 牵引自卸车换大梁需要手续 更换大梁备案需要上线吗 qq的情侣空间怎么找不到了,QQ情侣空间在哪里找 商品房延期交付可以延期交尾款吗 小清新优美的句子 一幅油画,是靠墙画了一堆花盆,也有一张是单独的一个花盆,*调为主,请问是那位大师画的 邮快递必须留电话号码吗?
  • 焦点

最新推荐

猜你喜欢

热门推荐