Utilisation d’une bibliothèque de modèles
Un modèle est un peu comme une macro. Comme avec une macro, l’appel d’un modèle entraîne son développement (avec la substitution de paramètre appropriée) au code que vous avez écrit. Toutefois, un modèle va plus loin que cela pour permettre la création de nouvelles classes en fonction des types que vous passez en tant que paramètres. Ces nouvelles classes implémentent des méthodes de sécurité de type d’exécution de l’opération exprimées dans votre code de modèle.
Les bibliothèques de modèles telles qu’ATL diffèrent des bibliothèques de classes C++ traditionnelles dans le fait qu’elles sont généralement fournies uniquement en tant que code source (ou en tant que code source avec un peu, prenant en charge le temps d’exécution) et ne sont pas intrinsèquement ou nécessairement hiérarchiques dans la nature. Au lieu de dériver d’une classe pour obtenir les fonctionnalités souhaitées, vous instanciez une classe à partir d’un modèle.