C++0x alignof

C++0x では、アライメントの管理が言語でサポートされ、 alignas と alignof というキーワードが追加される


alinas は変数宣言時のアライメントの指定

alignof はアライメントの取得



こんな感じで使用する

struct hoge {
    alignas(4) int value;
};


std::size_t n = alignof(hoge); // 4

alignas には型も指定することができて、その場合は alignas(alignof(T)) を意味する

以下の 2 行は同じ意味になる

alignas(int)          int value;
alignas(alignof(int)) int value;


N2341 Adding Alignment Support to the C++ Programming Language / Wording

C++0x言語拡張まとめ