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. };
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. };
Zusätzliche Hinweise
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!