考虑代码:
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位)