constexpr を使うべき5の理由 「なぜあなたは constexpr を使うべきか?」 「そもそも constexpr とは何か」という基本的な部分から始めて、 どうして C++er が constexpr を使わなければならないか、日にちを分けて5つのケースを書いてみます。 constexpr を既にバリバリ使っているというあなたにはまったく物足りないかもしれませんが、 改めてのおさらいということで読んでいただくのも一興かと存じます。 1.定数を明示的にコンパイル時定数にする 以下のコードは、定数 x のメンバを配列のサイズに指定している。 struct X { int n; }; int main() { const X x = {10}; int a[x.n] = {1}; } GCC 4.8 でこのコードは、以下のような警告とエラーになる。 warning: ISO C++