Maison  >  Article  >  développement back-end  >  Pouvez-vous spécifier explicitement les paramètres de modèle dans les constructeurs C ?

Pouvez-vous spécifier explicitement les paramètres de modèle dans les constructeurs C ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-13 03:03:02932parcourir

Can You Explicitly Specify Template Parameters in C   Constructors?

Spécification explicite des paramètres du modèle de constructeur

En C , un constructeur de classe peut être défini comme une fonction de modèle. Généralement, le compilateur détermine les paramètres du modèle utilisés en examinant les arguments transmis au constructeur lors de son appel. Cependant, existe-t-il un moyen de spécifier explicitement les paramètres du modèle à la place ?

Exemple de constructeur de modèle

Considérez la classe suivante :

struct A {
   template<typename T>
   A() {}
};

Spécification explicite des paramètres

Malheureusement, C 03 ne fournit pas de moyen de spécifier explicitement les paramètres de modèle d'un constructeur. La norme indique :

[Remarque : parce que la liste d'arguments explicites du modèle suit le nom du modèle de fonction, et
parce que les modèles de fonctions membres de conversion et les modèles de fonctions membres constructeur sont appelés sans utiliser de nom de fonction, il n'y a pas moyen de fournir une liste d'arguments de modèle explicite pour ces modèles de fonctions.] (§14.5.2/5)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn