我正在阅读一篇关于内存中数据类型对齐的文章(此处),但我无法理解一点,即
请注意,双变量将在 32 位机器上的 8 字节边界上分配,并且需要两个内存读取周期。在 64 位机器上,根据存储体的数量,双变量将分配在 8 字节边界上,并且只需要一个内存读取周期。
我的疑问是:为什么需要在 8 字节边界而不是 4 字节上分配双变量?如果它是在 4 字节边界上分配的,我们仍然只需要 2 个内存读取周期(在 32 位机器上)。如果我错了,请纠正我。
另外,如果有人对成员/内存对齐有很好的教程,请分享。