C++ 11在没有对象的非静态数据成员上对齐
问题描述:
在C++ 11中,我可以在没有对象的非静态数据成员上使用对齐吗?C++ 11在没有对象的非静态数据成员上对齐
如果我有一个类,例如
class A
{
int num;
unsigned char letter;
};
我可以使用alignof(A::letter);
扩展的sizeof语法(例如sizeof(A::letter);
)同样地?
答
是的。允许sizeof的更改也适用于alignof。 Here's提出sizeof的更改的论文之一。基本上它是通过改变未评估的操作数的含义来完成的,并且alignof使用未评估的操作数。
在声称支持alignof的编译器中尝试它,Clang(树干顶部),为我工作。