Ce document traite des templates en C++, permettant de définir des fonctions et classes génériques grâce à des paramètres types ou des constantes. Les templates sont instanciés par le compilateur en remplaçant les paramètres avec des types spécifiques, ce qui facilite la création de structures de données et de fonctions réutilisables. Il y est également question des particularités liées aux instanciations implicites et explicites, ainsi que de la spécialisation des templates pour des types particuliers.