在C ++ 11中,我可以在没有对象的情况下对非静态数据成员使用alignof吗?
如果我有课,例如
class A
{
int num;
unsigned char letter;
};
我可以使用alignof(A::letter);
类似于扩展sizeof语法(例如sizeof(A::letter);
)吗?
答案 0 :(得分:4)
是。允许对sizeof进行此更改的更改也适用于alignof。 Here's其中一篇提出尺寸变化的论文。基本上它是通过改变未评估操作数的含义来完成的,而alignof使用未评估的操作数。
在声称支持alignof的编译器中尝试,Clang(行李箱顶部)为我工作。