Table des matières:
Définition - Que signifie modèle?
Un modèle est une fonctionnalité de programmation C ++ qui permet des opérations de fonction et de classe avec des types génériques, ce qui permet une fonctionnalité avec différents types de données sans réécrire des blocs de code entiers pour chaque type.
Les modèles sont un utilitaire précieux en C ++, en particulier lorsqu'ils sont utilisés avec une surcharge d'opérateur et un héritage multiple. Les modèles réduisent l'effort associé au codage de différents types de données en un seul ensemble de codes et réduisent les efforts de débogage.
Techopedia explique le modèle
C ++ fournit les deux types de modèles suivants utilisés pour implémenter des constructions générales, telles que des listes, des files d'attente, des vecteurs et des piles:
- Modèle de classe: ressemble à une définition de classe ordinaire mais est précédé du texte suivant: modèle
, suivi de la déclaration du corps de classe, y compris les données et fonctions des membres. Les déclarations et définitions des fonctions membres du modèle de classe se trouvent dans le même fichier d'en-tête. Les modèles de classe C ++ conviennent mieux aux classes de conteneur. - Modèle de fonction: implémenté via les paramètres du modèle, qui est un type de paramètre spécial utilisé pour passer un type comme argument de fonction. Ainsi, la fonctionnalité peut être adaptée à plusieurs types ou classes sans répéter tout le code. Le format pour déclarer un modèle de fonction avec un paramètre de type est soit un modèle
déclaration_fonction ou modèle déclaration_fonction. Il n'y a aucune différence entre les mots-clés class et typename.
Le code généré par le modèle peut être annulé en fournissant des définitions spéciales pour des types spécifiques, ce qui est connu sous le nom de spécialisation de modèle. Une version spéciale d'une fonction pour un ensemble donné d'arguments de modèle est appelée spécialisation explicite. Un modèle de classe spécialisé par un sous-ensemble de ses paramètres est appelé spécialisation partielle de modèle. Une spécialisation complète se produit f chaque paramètre est spécialisé. Cette définition a été écrite dans le contexte de C ++
