Použití knihovny šablon
Šablona je trochu jako makro. Stejně jako u makra vyvolání šablony způsobí, že se rozbalí (s odpovídající náhradou parametrů) na kód, který jste napsali. Šablona však dále pokračuje, aby bylo možné vytvářet nové třídy založené na typech, které předáváte jako parametry. Tyto nové třídy implementují typy bezpečné způsoby provádění operace vyjádřené v kódu šablony.
Knihovny šablon, jako je ATL, se liší od tradičních knihoven tříd jazyka C++, v tom, že jsou obvykle dodávány pouze jako zdrojový kód (nebo jako zdrojový kód s trochou podpory doby běhu) a nejsou ze své podstaty nebo nutně hierarchické v přírodě. Namísto odvození od třídy k získání požadované funkce vytvoříte instanci třídy ze šablony.