Heim > Backend-Entwicklung > C++ > Was ist ein injizierter Klassenname und wie hat sich seine Verwendung entwickelt?

Was ist ein injizierter Klassenname und wie hat sich seine Verwendung entwickelt?

Linda Hamilton
Freigeben: 2024-12-23 19:03:15
Original
191 Leute haben es durchsucht

What is an Injected Class Name and How Has Its Use Evolved?

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:

  • Mehrdeutigkeit Lösung: Es macht die Mehrdeutigkeit zwischen Verweisen auf die Klasse und anderen Entitäten mit demselben Namen im umschließenden Bereich deutlich. Dies ist besonders wichtig für Klassenmitglieder und Mitgliedsfunktionen, die denselben Namen wie die Klasse haben.
  • Komfort in Klassenvorlagen: Es ermöglicht die Verwendung des Klassennamens innerhalb der Vorlage, ohne den anzugeben Vorlagenargumentliste, Code vereinfachen.

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(); }
};
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage