piyongze 2014-01-22 01:24 采纳率: 0%
浏览 1981

C++内存问题,主要是关于对象占用内存,有些糊涂,敬请指导。

#include
class stu
{
private:
int a;
double c;
char p;
};
struct tea
{
int a;
int b;
};
int main()
{
stu st;
printf("%d\n", sizeof(int));
printf("%d\n", sizeof(double));
printf("%d\n", sizeof(char
));
printf("%d\n",sizeof(st));
tea te;
printf("%d\n", sizeof(te));
}

代码如上,结果是:
4
8
4
24
8
64位机器下 visual studio 2013结果,
不太明白,为什么类会多出来8个字节。

  • 写回答

2条回答 默认 最新

  • xnlengao 2014-01-22 06:00
    关注

    这个类的大小计算要字节对齐,类中最长的为double型8个字节,前后两个int都不足8字节,编译器会加上填充字节,3个8字节加起来就是24字节了 而不是实际的16字节.

    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料