科大讯飞笔试有问题?

题目:给定如图一代码,求sizeof(Sub)是多少。

做这道题就在想题目没有给定字节对齐数,考完我在电脑上敲代码,给定8字节对齐输出16,4字节对齐输出12。

求大佬解答😭
全部评论
8字节对齐: a大小为4字节,b大小为1字节,填充3字节,所以Base类大小为8字节,Sub继承Base后,c成员为1字节,类内最大成员为a大小为4字节,所以最后一个成员应当填充3字节,所以理应来说Sub大小为12字节,但Sub类强制对齐8字节,所以c后面填充了7字节,所以最终为16字节 4字节对齐: 如上,Sub强制对齐4字节,所以c后面填充3字节,大小为12字节
1 回复 分享
发布于 08-18 19:29 广东

相关推荐

4 3 评论
分享
牛客网
牛客企业服务