struct aligntment的规则

时间:2018-03-01 18:13:26

标签: c++ struct memory-alignment

考虑代码:

struct A
{
    char b;
    bool a;
    double c;
};

struct B
{
    char b;
    double c;
    bool a;
};

int main()
{
    std::cout << sizeof(A) << '\n'; // 16
    std::cout << sizeof(B) << '\n'; // 24
}

这里发生了什么? 在第二种情况下,由8字节对齐的目的是什么?

(操作系统:Windows 7 32位)

0 个答案:

没有答案