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

例如,如果我有课

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

可以像扩展sizeof语法(例如alignof(A::letter);)一样使用sizeof(A::letter);吗?

最佳答案

是。允许sizeof的更改也适用于alignof。 Here's提出对sizeof进行更改的论文之一。基本上,这是通过更改未评估的操作数的含义来完成的,alignof使用未评估的操作数。

在声称支持alignof的编译器中尝试使用Clang(主干顶部)为我工作。

关于c++ - 没有对象的非静态数据成员上的C++ 11 alignof,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8196176/

10-10 13:21