C ++ 11在没有对象的非静态数据成员上进行对齐

时间:2011-11-19 18:18:50

标签: c++ alignment c++11

在C ++ 11中,我可以在没有对象的情况下对非静态数据成员使用alignof吗?

如果我有课,例如

class A 
{
   int num; 
   unsigned char letter;
};

我可以使用alignof(A::letter);类似于扩展sizeof语法(例如sizeof(A::letter);)吗?

1 个答案:

答案 0 :(得分:4)

是。允许对sizeof进行此更改的更改也适用于alignof。 Here's其中一篇提出尺寸变化的论文。基本上它是通过改变未评估操作数的含义来完成的,而alignof使用未评估的操作数。

在声称支持alignof的编译器中尝试,Clang(行李箱顶部)为我工作。