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
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!