2012-06-01から1ヶ月間の記事一覧
constexpr の間違った使い方。 - C++でゲームプログラミング この記事へのフォローです。 constexpr static データメンバの場合は、"コンパイル時定数である変数は、宣言と同時に初期化しなければならない" という原則にしたがって、 クラススコープの内側に…
「constexpr を使うべき5の理由」の連載をひとまず終えたので、記事の一覧をここにまとめておきます。 また、その他の資料や情報へのリンクを載せておきますので、更に興味あるという方は読んでみるのもよいでしょう。 constexpr を使うべき5の理由 1.定数を…
「constexpr を使うべき5の理由」ひとまず最終回です。 コンパイル時に計算ができると聞いて、誰もがまず思い浮かべる用途は、おそらく、実行時に必要となる値をあらかじめ計算しておくというものでしょう。 5.必要なものをなるべく早く用意しておくために …
「constexpr を使うべき5の理由」ようやく4つめです。 今回は、いわゆるメタプログラミングにおける constexpr について取り上げます。 4.あのうんざりするテンプレートメタプログラミングによる数値計算からはもはや解放された 以下のコードは、[1 .. 5] の…
相変わらず「constexpr を使うべき5の理由」です。 今回は、関数に対する constexpr 指定のもう一つの意味について取り上げます。 3.副作用がないことを保証する 「ねむらなくてもつかれないくすり」に副作用はあるのでしょうか。疲労をポンと感じなくさせて…
constexpr を使うべき5の理由 「なぜあなたは constexpr を使うべきか?」 「そもそも constexpr とは何か」という基本的な部分から始めて、 どうして C++er が constexpr を使わなければならないか、日にちを分けて5つのケースを書いてみます。 constexpr …
引き続き、「constexpr を使うべき5の理由」です。 ここでは、できるかぎり関数に constexpr を付けることが如何に C++er の義務であるかを示します。 2.定数を返す関数をコンパイル時定数にする #include <limits> constexpr auto v = std::numeric_limits<double>::max(); </double></limits>…