Templates erlauben es, Funktionen und Klassen zu deklarieren und zu definieren ohne
bereits
alle Datentypen festlegen zu müssen. Man erzeugt quasi eine Schablone, in der die
Schnittstellen und Algorithmen (z. B. Suchalgorithmen, Speicherverwaltung, ...) ausgeprägt
werde. Die fehlenden Informationen werden bei der ersten Nutzung beigefügt.
Neben allen Vorteilen haben Templates den Nachteil, dass sie leicht Seiteneffekte
verursachen
und die Fehlersuche nur bedingt erleichtern. Bei dem Einsatz von Templates muss zwischen
der Komplexität der Algorithmen und der Komplexität des entstehenden Programms
abgewogen werden.