Klassennamen in einer Klassenvorlage verwenden
Im bereitgestellten Codeausschnitt fehlt der öffentlichen Mitgliedsvariablen Link* als nächstes ein Vorlagenparameter. Dies ist auf eine Funktion zurückzuführen, die als „injizierter Klassenname“ bekannt ist.
Gemäß dem C-Standard ([temp.local]) entspricht der injizierte Klassenname im Rahmen einer Klassenvorlage dem Vorlagenname, gefolgt von den in <..> eingeschlossenen Vorlagenparametern. Bei Verwendung als Typname bezieht sich der eingefügte Klassenname jedoch auf die Klassenvorlage selbst.
Im Fall der Link-Klassenvorlage lautet der eingefügte Klassenname einfach Link. Somit ist die Zeile Link* next; ist praktisch äquivalent zu Link
Diese Funktion ist innerhalb von Klassenvorlagen praktisch, insbesondere wenn die Liste der Vorlagenparameter umfangreich ist. Durch die Verwendung des eingefügten Klassennamens kann der Klassenname auf sich selbst verweisen, ohne den Code mit übermäßig vielen Vorlagenparametern zu überladen.
Das obige ist der detaillierte Inhalt vonWarum kann ich in dieser Klassenvorlage den Klassennamen „Link' anstelle von „Link' verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!