小编use*_*917的帖子

为什么打包对象的sizeof低于预期?

我有以下代码:

#pragma pack(push, 4)

class C {
    public:
        char a;
        char b;
        short c;
        char d;
};
C e;
Run Code Online (Sandbox Code Playgroud)

我不明白为什么sizeof(e)是6.我认为sizeof(e)将是8 => 1(a)+ 1(b)+ 2(c)+ 1(d)+ 3(对齐)

c++ sizeof pragma memory-alignment memory-layout

3
推荐指数
1
解决办法
58
查看次数

标签 统计

c++ ×1

memory-alignment ×1

memory-layout ×1

pragma ×1

sizeof ×1