Namespaces
Variants

Template Metaprogramming

From ja.cppreference.net


テンプレートメタプログラミングは、コンパイル時に新しい型を作成し値を計算するための一連の技術です。再帰的インスタンス化の回数と使用可能な状態変数の数に制限がない場合、C++テンプレートはチューリング完全です。Erwin Unruhは委員会会議で、コンパイラにエラーメッセージで素数を出力させることで、初めてテンプレートメタプログラミングを実証しました。規格は実装が少なくとも1024段階の再帰的インスタンス化をサポートすることを推奨しており、テンプレートインスタンス化における無限再帰は未定義動作です。

外部リンク

1. David Vandevoorde, Nicolai M. Josuttis, Douglas Gregor (2017), C++ Templates - The Complete Guide, 2nd Edition.
2. Wikibook: テンプレートメタプログラミング.
3. Wikipedia: テンプレートメタプログラミング.