在latest draft of the c++11 standard中,第3.11章討論了對齊。
後來,章7.6.1定義如何定義一個對準結構如何以獨立於平臺的方式設置對齊方式?
如果我這樣定義的結構(或變量):
alignas(16) struct A
{
int n;
unsigned char[ 1020 ];
};
不意味着A類的所有實例將被對齊到16個字節?
或者,我必須像下一個代碼那樣做嗎?
struct A
{
char data[300];
};
alignas(16) A a;
如果兩個例子都不對,請問該如何正確使用?
PS我不是在尋找一個依賴編譯器的解決方案。
僅供參考,n3242不是最新的草案。 :) –