Injizierter Klassenname in C: Zweck und Geschichte
C verfügt über ein faszinierendes Konzept, das als injizierter Klassenname bekannt ist. Durch das Einfügen des Klassennamens in seinen eigenen Bereich stellt die Sprache sicher, dass die Namenssuche innerhalb der Klasse immer die aktuelle Klasse findet, auch wenn andere Klassen mit ähnlichen Namen im gleichen umschließenden Bereich vorhanden sind.
Diese Funktion ist in Szenarien von entscheidender Bedeutung wie zum Beispiel das Folgende:
void X() { } class X { public: static X create() { return X(); } };
Erstellt die Funktion create() ein temporäres X-Objekt oder ruft sie die Funktion X auf? Im globalen Gültigkeitsbereich würde die Funktion X aufgerufen werden. Somit garantiert der injizierte Klassenname, dass sich der Name ohne Angabe von Argumenten referenziert werden, was den Ausdruck vereinfacht.
Obwohl der Begriff „injizierter Klassenname“ konzeptionell in C 98 vorhanden war, wurde er in C 03 eingeführt (DR 147). Vor C 98 implizierte die ARM-Sprachspezifikation das Konzept, es fehlte jedoch eine spezifische Terminologie.
Vorteile des injizierten Klassennamens:
Das obige ist der detaillierte Inhalt vonWas ist der Zweck und die Geschichte der injizierten Klassennamen in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!