Maison  >  Article  >  développement back-end  >  Pourquoi puis-je utiliser le nom de classe « Lien » au lieu de « Lien » dans ce modèle de classe ?

Pourquoi puis-je utiliser le nom de classe « Lien » au lieu de « Lien » dans ce modèle de classe ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-04 06:31:29904parcourir

Why Can I Use the Class Name

Utilisation du nom de classe dans un modèle de classe

Dans l'extrait de code fourni, la variable membre publique Link* manque ensuite de paramètre de modèle. Cela est dû à une fonctionnalité connue sous le nom de « nom de classe injecté ».

Selon le standard C ([temp.local]), dans le cadre d'un modèle de classe, le nom de classe injecté est équivalent au nom du modèle suivi des paramètres du modèle entre <..>. Cependant, lorsqu'il est utilisé comme nom de type, le nom de classe injecté fait référence au modèle de classe lui-même.

Dans le cas du modèle de classe Link, le nom de classe injecté est simplement Link. Ainsi, la ligne Link* next; est effectivement équivalent à Link* next;. L'utilisation du nom de classe injecté comme raccourci évite d'avoir à spécifier explicitement les paramètres du modèle pour le pointeur de lien.

Cette fonctionnalité est pratique dans les modèles de classe, en particulier lorsque la liste des paramètres du modèle est longue. En utilisant le nom de classe injecté, le nom de classe peut faire référence à lui-même sans encombrer le code avec des paramètres de modèle excessifs.

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