Heim > Backend-Entwicklung > C++ > Was sind Referenzqualifizierer (& und &&) in C-Memberfunktionen und wie wirken sie sich auf Objektreferenzen aus?

Was sind Referenzqualifizierer (& und &&) in C-Memberfunktionen und wie wirken sie sich auf Objektreferenzen aus?

Linda Hamilton
Freigeben: 2024-12-10 15:22:12
Original
430 Leute haben es durchsucht

What are Reference Qualifiers (& and &&) in C   Member Functions and How Do They Affect Object References?

Referenzqualifizierer in Member-Funktionsdeklarationen

In C können einzelne kaufmännische Und-Zeichen (&) und doppelte kaufmännische Und-Zeichen (&&) als Referenzqualifizierer verwendet werden in Member-Funktionsdeklarationen. Diese Qualifizierer wirken sich auf den Typ des impliziten Objektparameters für nicht statische Mitgliedsfunktionen aus.

Einzelnes kaufmännisches Und (einzelne Referenz)

Das einzelne kaufmännische Und (&) gibt an, dass das Die Memberfunktion kann aufgerufen werden, wenn das Objekt eine L-Wert-Referenz ist (d. h. es verweist auf ein vorhandenes Objekt). Mit anderen Worten, die Funktion wird mit einem Objekt aufgerufen, das als Referenz übergeben wird.

Das folgende Beispiel demonstriert die Verwendung des einzelnen Referenzqualifizierers:

class wrap {
public:
   operator obj() const & { ... } // Copy from me.
};
Nach dem Login kopieren

Hier ist der Operator obj( )-Funktion kann für eine Objektreferenz wie my_object.operator obj() aufgerufen werden.

Vergleich mit Nr Kaufmännisches Und

Wenn kein Referenzqualifizierer angegeben ist, ist der implizite Objektparameter standardmäßig eine L-Wert-Referenz. Daher entspricht die folgende Funktionsdeklaration der obigen:

class wrap {
public:
   operator obj() const { ... } // Copy from me.
};
Nach dem Login kopieren

Zusätzliche Hinweise

  • Das doppelte kaufmännische Und (&&) wird zur Angabe von verwendet R-Wert-Referenz (d. h. sie verweist auf ein temporäres Objekt), die aufgerufen wird, wenn das Objekt verschoben werden soll.
  • Referenz Qualifizierer helfen bei der korrekten Handhabung von L-Wert- und R-Wert-Referenzen und können die Leistung optimieren, indem unnötige Kopien vermieden werden.
  • Es ist wichtig, die richtigen Referenzqualifizierer zu verwenden, um sicherzustellen, dass Mitgliedsfunktionen korrekt und effizient aufgerufen werden.

Das obige ist der detaillierte Inhalt vonWas sind Referenzqualifizierer (& und &&) in C-Memberfunktionen und wie wirken sie sich auf Objektreferenzen aus?. 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