Namensräume
Varianten
Aktionen

Template Metaprogramming

Von cppreference.com
< cpp‎ | Sprache


Template-Metaprogrammierung ist eine Familie von Techniken zur Erstellung neuer Typen und zur Berechnung von Werten zur Kompilierzeit. C++ Templates sind Turing-vollständig, wenn es keine Beschränkungen für die Menge rekursiver Instanziierungen und die Anzahl der erlaubten Zustandsvariablen gibt. Erwin Unruh war der erste, der Template-Metaprogrammierung auf einer Komiteesitzung demonstrierte, indem er den Compiler anwies, Primzahlen in Fehlermeldungen auszugeben. Der Standard empfiehlt eine Implementierungsunterstützung von mindestens 1024 Ebenen rekursiver Instanziierung, und unendliche Rekursion bei Template-Instanziierungen ist undefiniertes Verhalten.

[bearbeiten] Weblinks

1.  David Vandevoorde, Nicolai M. Josuttis, Douglas Gregor (2017), C++ Templates - The Complete Guide, 2nd Edition.
2.  Wikibuch: Template Meta-Programming.
3.  Wikipedia: Template Meta-Programming.