【发布时间】:2012-01-02 00:41:45
【问题描述】:
在 C++11 中,我可以在没有对象的非静态数据成员上使用 alignof 吗?
如果我有课,例如
class A
{
int num;
unsigned char letter;
};
我可以像扩展 sizeof 语法一样使用alignof(A::letter);(例如sizeof(A::letter);)吗?
【问题讨论】:
在 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(主干顶部)的编译器中尝试它对我有用。
【讨论】: