Maison  >  Article  >  développement back-end  >  Comment le nom de classe injecté simplifie-t-il la définition des variables membres dans les modèles de classe C ?

Comment le nom de classe injecté simplifie-t-il la définition des variables membres dans les modèles de classe C ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-01 15:52:02299parcourir

How does the injected class name simplify defining member variables in C   class templates?

Utilisation du nom de classe dans un modèle de classe sans paramètres de modèle

Le code C fourni définit un modèle de classe Lien avec une variable membre publique 'suivant ' qui manque d'un argument de nom de type. Cela a semé la confusion car la variable membre devrait être de type « Link* ».

Selon la norme C, il s'agit d'un exemple de « nom de classe injecté ». Dans le cadre d'un modèle de classe, le nom de classe injecté (simplement le nom de classe sans paramètres de modèle) fait référence au modèle de classe lui-même. Lorsqu'il est utilisé comme nom de type, il équivaut au nom de classe suivi des paramètres de modèle entourés de crochets.

Dans le cas de la classe Link, le nom de classe injecté 'Link' est utilisé pour le Variable membre 'suivante'. Il s'agit essentiellement d'une notation abrégée qui suppose que le type de variable « suivant » est « Link* » (c'est-à-dire un pointeur vers un objet Link avec le type d'élément E).

Cette convention permet une utilisation plus simple et concise. code dans les modèles de classe. En utilisant le nom de classe injecté, la variable membre « next » fait directement référence au type de la classe elle-même, éliminant ainsi le besoin de spécifier explicitement les paramètres du modèle.

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