在latest draft of the c++11 standard中,第3.11章讨论了对齐。
后来,章7.6.1定义如何定义一个对准结构如何以独立于平台的方式设置对齐方式?
如果我这样定义的结构(或变量):
alignas(16) struct A
{
int n;
unsigned char[ 1020 ];
};
不意味着A类的所有实例将被对齐到16个字节?
或者,我必须像下一个代码那样做吗?
struct A
{
char data[300];
};
alignas(16) A a;
如果两个例子都不对,请问该如何正确使用?
PS我不是在寻找一个依赖编译器的解决方案。
仅供参考,n3242不是最新的草案。 :) –