|
===================================== 〔語彙分解〕的な部分一致の検索結果は以下の通りです。 ・ テン : [てん] 【名詞】 1. 10 2. ten 3. (P), (n) 10/ten ・ ー : [ちょうおん] (n) long vowel mark (usually only used in katakana) ・ メタ : [めた] 【名詞・形容詞】meta ・ プログラミング : [ぷろぐらみんぐ] 【名詞】 1. programming 2. programing, (n) programming/programing
テンプレートメタプログラミング()は、メタプログラミング技法の一種であり、コンパイラがテンプレートを使って一時的ソースコードを生成し、それを他のソースコードと結合してコンパイルする方式である。テンプレートが出力するものは、コンパイル時の定数、データ構造、関数定義などがある。テンプレートの利用は言わばコンパイル時の実行である。この技法は様々な言語で使われている(C++、D言語、Eiffel、Haskell、ML、XLなど)。 == テンプレートメタプログラミングの構成要素 == メタプログラミング手法としてのテンプレート利用には2段階の操作が必要である。まずテンプレートを定義し、次にそれをインスタンス化しなければならない。テンプレートは生成すべきコードの一般化された形式を示し、インスタンス化によってそのテンプレートから具体的なソースコードが生成される。 テンプレートメタプログラミングは一般にチューリング完全であり、コンピュータプログラムで実行できることはテンプレートメタプログラムでも実行できる。 テンプレートはマクロとは異なる。マクロもコンパイル時に使われる機能で、文字列操作によってソースコードを生成する。マクロ機能は非常に限定的で言語の意味とか型といったものを考慮できない(LISPのマクロはこの限りではない)。 テンプレートメタプログラムには変更可能な変数がない。つまり、変数は初期化時に一回代入を行うだけである。これは一種の関数型プログラミングと言える。実際、テンプレートの実装では制御構造や再帰呼び出しだけを実装していることが多い。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「テンプレートメタプログラミング」の詳細全文を読む スポンサード リンク
|