Verwenden einer Vorlagenbibliothek
Eine Vorlage ähnelt einem Makro. Wie bei einem Makro bewirkt das Aufrufen einer Vorlage, dass sie (mit entsprechender Parameterersetzung) auf Code erweitert wird, den Sie geschrieben haben. Eine Vorlage geht jedoch weiter als dies, um die Erstellung neuer Klassen basierend auf Typen zu ermöglichen, die Sie als Parameter übergeben. Diese neuen Klassen implementieren typsichere Methoden zum Ausführen des Vorgangs, der in Ihrem Vorlagencode ausgedrückt wird.
Vorlagenbibliotheken wie ATL unterscheiden sich von herkömmlichen C++-Klassenbibliotheken darin, dass sie in der Regel nur als Quellcode (oder als Quellcode mit etwas unterstützungsfähiger Laufzeit) bereitgestellt werden und nicht inhärent oder notwendig hierarchisch in der Natur sind. Anstatt von einer Klasse abzuleiten, um die gewünschte Funktionalität zu erhalten, instanziieren Sie eine Klasse aus einer Vorlage.