【发布时间】:2018-01-10 17:46:50
【问题描述】:
我最近了解了结构的大小和对齐方式。我非常熟悉如何使用以及 alignas() 说明符如何工作。我已经看到了正确使用的例子(关于语义,而不是现实生活中的用例)以及它改变类型/变量大小的方式。
但是,我不知道它何时在我的代码中有用。当开发人员应手动指定数据对齐时,您能否列出一些用例?
【问题讨论】:
-
与需要特定对齐的设备对话;使用 SSE/MMX/等;利用当数据以某种方式对齐时工作速度更快的 CPU 功能——例如确保给定的 `char s[128]' 不会在两个 cpu 缓存行之间拆分