3
在C++ 11中,我可以在沒有對象的非靜態數據成員上使用對齊嗎?C++ 11在沒有對象的非靜態數據成員上對齊
如果我有一個類,例如
class A
{
int num;
unsigned char letter;
};
我可以使用alignof(A::letter);
擴展的sizeof語法(例如sizeof(A::letter);
)同樣地?
在C++ 11中,我可以在沒有對象的非靜態數據成員上使用對齊嗎?C++ 11在沒有對象的非靜態數據成員上對齊
如果我有一個類,例如
class A
{
int num;
unsigned char letter;
};
我可以使用alignof(A::letter);
擴展的sizeof語法(例如sizeof(A::letter);
)同樣地?
是的。允許sizeof的更改也適用於alignof。 Here's提出sizeof的更改的論文之一。基本上它是通過改變未評估的操作數的含義來完成的,並且alignof使用未評估的操作數。
在聲稱支持alignof的編譯器中嘗試它,Clang(樹幹頂部),爲我工作。