内存对齐与alignas/alignof
请解释内存对齐的概念、原因以及alignas/alignof的用法。
回答
屠龙少年
内存对齐:数据地址必须是其大小的整数倍。原因:硬件要求+性能(未对齐访问慢2-3倍)。 alignas(N)控制对齐,alignof获取对齐值。 attribute((packed))取消对齐但可能导致未对齐访问(SIGBUS风险)。
请解释内存对齐的概念、原因以及alignas/alignof的用法。
内存对齐:数据地址必须是其大小的整数倍。原因:硬件要求+性能(未对齐访问慢2-3倍)。 alignas(N)控制对齐,alignof获取对齐值。 attribute((packed))取消对齐但可能导致未对齐访问(SIGBUS风险)。