Maison >développement back-end >C++ >Quel est le but et l'évolution du nom de classe injecté en C ?
Déchiffrer le nom de classe injecté : son but et son évolution en C
Introduction :
Le concept de un nom de classe injecté en C a intrigué de nombreux programmeurs. Cette fonctionnalité permet à une classe de devenir membre d'elle-même, permettant une résolution de nom sans ambiguïté dans le corps de la classe.
Objectif du nom de classe injecté :
Le nom de classe injecté garantit que dans la portée d'une classe, son propre nom fait toujours référence à la classe actuelle plutôt qu'à une autre classe portant le même nom déclarée dans la même portée englobante. Cette distinction est cruciale dans des scénarios comme les méthodes de classe qui peuvent faire référence soit à la méthode, soit à un objet temporaire du même nom.
Clarification en C 03 :
Alors que l'idée d'un Le nom de classe injecté existait en C 98, sa terminologie a été introduite en C 03 avec la publication de la section [class]/2 dans le standard C. Cette section indique explicitement qu'un nom de classe est injecté à la fois dans la portée de sa déclaration et dans la portée de la classe elle-même.
Avantages dans les modèles de classe :
Le nom de classe injecté est particulièrement utile dans les modèles de classe. Il permet d'omettre la liste des paramètres du modèle lors de la référence à l'instanciation actuelle de la classe, ce qui rend l'utilisation plus simple.
Contexte historique :
Même avant C 98, l'ARM (Manuel de référence annoté) comprenait des dispositions permettant d'utiliser le nom d'une classe dans sa propre liste de membres. Ce concept a jeté les bases de la formalisation du nom de classe injecté dans les versions C ultérieures.
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!