今、私はテンプレートに精通しています。私はSFINAEのようなものに多少精通しています。そして、テンプレートがコンパイラによってインスタンス化されるときに何が起こるのか疑問に思っています。C++テンプレートのインスタンス化、正確にはどういう意味ですか?
あなたはTMPで物事を行うと、SFINAE、またはTMPでさえ簡単なフィボナッチ数列のように、それコンパイラは、私がテンプレートのインスタンスの下で理解し何よりもやっているように思えます。コンパイラはで、のテンプレートコードを実行しているようです。
私の質問は、正確にテンプレートのインスタンスと実際にコードを実行するコンパイラで描画された行はどこですか?
コンパイラはテンプレートの型を作成しますが、テンプレートのインスタンス化を理解しています。しかし、TMPでは、これ以上のことをしているようで、混乱しているようです。
実行時に計算を実行するためにC++テンプレートを使用する方法を理解する方法の1つは、Prologの基本を学ぶことです。テンプレートメタプログラミングはPrologに典型的なプログラミングスタイルから大いに借りています。 – dasblinkenlight
PROLOGとは全く関係がありません。それは、ハスケルをもっと連想させる機能的なスタイルです。 – Puppy
@dasblinkenlight詳しいことはありますか?私は前にPrologを試してみたが、それは何も私に思い出させない。私は、TMPには型システムがないので、Haskellとの比較は非常に良いとは思わない。 – Pubby