c++ 11对不带对象的非静态数据成员的align

C++11 alignof on non-static data members without an object

本文关键字:静态 数据成员 align 对象 c++      更新时间:2023-10-16

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

如果我有一个类,例如

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

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

是。在sizeof中允许这样做的更改也适用于alignof。这是其中一篇提出改变尺寸的论文。基本上,它是通过改变未求值的操作数的含义来完成的,alignof使用了一个未求值的操作数。

在一个声称支持alignof的编译器中尝试它,Clang (top of trunk)对我来说很有效。