C++11 の Alignment support

そういえば、C++11 で追加される Alignment support の alignas が使えるコンパイラって clang 3.0 だけなんですね。

[ソース]

#include <iostream>

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


int
main(){
    std::size_t n = alignof(x);
    std::cout << n << std::endl;
    std::cout << alignof(alignof(x)) << std::endl;
    return 0;
}

[出力]

4
4

alignof は gcc 4.5 も使用できるみたいですね。

[コンパイラ]

  • clang++ (llvm) 3.0