Injizierter Klassenname: Zweck und historische Entwicklung
Der Begriff eines injizierten Klassennamens bezieht sich auf die implizite Deklaration einer Klasse innerhalb ihrer eigenen Umfang. Dadurch kann der Klassenname innerhalb des Klassenkörpers verwendet werden, um auf die Klasse selbst zu verweisen, selbst wenn andere Entitäten mit demselben Namen im umschließenden Bereich vorhanden sind.
Zweck des eingefügten Klassennamens
Der eingefügte Klassenname dient mehreren praktischen Zwecken, darunter:
Historische Einführung
Das Konzept von Ein injizierter Klassenname existierte in irgendeiner Form schon vor C . Im ARM (Ada Reference Manual) wurde festgelegt, dass der Klassenname innerhalb des Klassenspezifizierers verwendet werden kann, um auf die Klasse selbst zu verweisen.
In C 98 wurde der eingefügte Klassenname implizit in den Gültigkeitsbereich der Klasse eingefügt. Allerdings wurde die Terminologie „injected-class-name“ in C 03 mit DR 147 eingeführt.
Beispielanwendungsfall
Betrachten Sie die folgende Klasse:
class X { public: static X create() { return X(); } };
Ohne den injizierten Klassennamen wäre unklar, ob create() ein temporäres X-Objekt erstellt oder die Funktion X aufruft. Die injizierte Klasse name stellt sicher, dass sich der Name X im Hauptteil von
Das obige ist der detaillierte Inhalt vonWas ist ein injizierter Klassenname und wie hat sich seine Verwendung entwickelt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!