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