2010-03-24から1日間の記事一覧

テンプレートを使って配列を作る

静的な配列をコンパイル時に作成するための簡単なコードです。テンプレートを使わずに要素数を自由に指定するなら、#define文などで要素数を定義するか、new・deleteでヒープ領域に要素数だけ確保することになると思います。テンプレートの仕組みを利用する…

テンプレートを使って簡単な漸化式を計算する

コンパイル時に値を計算するための方法についてです。フィボナッチ数列を例にとってみましょう。 この数列の答えはこのようになります。 n 0 1 2 3 4 5 6 7 8 ... 1 1 2 3 5 8 13 21 34 ... 実際に4つほど書き下したものが下の式です。 これに対応するコード…

テンプレートメタプログラミング

定数 コンパイル時に定数を代入する方法を考えてみます。 Step0 コンパイル後の式がこのようになるためにはどうすればいいでしょうか? cout << 1 << endl; enumで適当な変数名を定義すれば、コンパイル時にプリプロセッサが勝手に数字に置き換えてくれます…