テンプレートメタプログラムには変更可能な変数がない。つまり、変数は初期化時に一回代入を行うだけである。これは一種の関数型プログラミングと言える。実際、テンプレートの実装では制御構造や再帰呼び出しだけを実装していることが多い。テンプレートメタプログラミングの利用.テンプレートメタプログラミングの文法はそのプログラミング言語本来のそれとだいぶ異なることが多いが、それでもテンプレートを使うのには理由がある。理由のひとつとしてジェネリックプログラミングの実装をするためということが挙げられる(似たようなコードをいくつも書かないようにする)。また、コンパイル時のコードの最適化の利点を最大限生かすためという理由もある。通常では最適化されない部分もテンプレートを使っていると最適化される場合がある。コンパイル時のクラス生成.テンプレートメタプログラミングとテンプレートの特殊化を再帰のために使って階乗の計算を実装すると、実行時に階乗の計算をせずにコンパイル時に計算を行うことができる:コンパイル時のコード最適化.上記の階乗の例はコンパイル時の最適化の一例であり、プログラム内で必要とされる階乗の値を予め計算して、定数としてコード内に組み込んでコンパイルを行う。これは実行時の性能とメモリ使用量の両面で効果がある。しかし、これはそれほど大きな最適化ではない。コンパイラがこのテンプレート関数をインスタンス化すると、次のようなコードが生成される:public:public:入水自殺動物性プランクトン植物性プランクトン林家林蔵水野学経歴・人物.ブランドや商品の企画、グラフィックデザイン、パッケージデザイン、インテリアデザイン、宣伝広告、長期的なブランド戦略までをトータルに手がける。自ら企画運営するブランド『THE』では、“世の中の定番を新たに生み出し、定番と呼ばれるモノの基準値を引き上げていくこと”を目指しクリエイティブディレクションを担当する。主な受賞歴.珪藻類オバドヤオバデア書札幌市立伏見中学校概要.札幌市教育委員会より社会科教育・視聴覚教育・特別活動などの研究校としての指定を受けた。研究主題.「自ら学び、創造力豊かな生徒の育成」部活動.