Klassennamen in Klassenvorlagen ohne Vorlagenparameter
Betrachten Sie eine Klassenvorlage, die wie folgt definiert ist:
<code class="cpp">template <typename E> class Link { public: E element; Link* next; // No typename argument here };</code>
Die Der von Ihnen bereitgestellte Code enthält einen öffentlichen Member-Link* als Nächstes ohne ein Typnamenargument. Dies wird als „injizierter Klassenname“ bezeichnet.
Wenn der injizierte Klassenname im Rahmen der Klasse verwendet wird, entspricht er laut [temp.local] dem Klassennamen gefolgt von spitzen Klammern Enthält die Vorlagenparameter der Klasse. In diesem Fall wird Link effektiv zu Link
Daher ist der Ausdruck Link* next innerhalb der Link-Klasse äquivalent zu Link
Das obige ist der detaillierte Inhalt vonWie funktionieren Klassennamen in Klassenvorlagen ohne Vorlagenparameter?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!