Verwendung von „&&“ (Doppeltes kaufmännisches Und) in C 11
C 11 führte einen neuen Referenztyp namens r-Wert ein Referenz, angezeigt durch das doppelte kaufmännische Und-Symbol "&&".
Was ist eine R-Wert-Referenz?
Eine R-Wert-Referenz ist eine Referenz, die an einen R-Wert gebunden werden kann, der ein ist Ausdruck oder temporärer Wert, der keiner benannten Variablen zugewiesen ist. Dies steht im Gegensatz zu L-Wert-Referenzen, die an benannte Variablen oder Objekte binden.
Vorteile von R-Wert-Referenzen
R-Wert-Referenzen bieten mehrere Vorteile: einschließlich:
-
Umzug Semantik: Sie ermöglichen effiziente „Verschiebe“-Operationen, die Ressourcen von einem Objekt auf ein anderes übertragen, ohne sie zu kopieren.
-
Perfekte Weiterleitung: Sie ermöglichen Vorlagenfunktionen, Argumente basierend auf korrekt weiterzuleiten ihr R-Wert/L-Wert-Status.
Syntax und Verwendung
T&& var; // Deklariert eine R-Wert-Referenz auf T mit dem Namen „var“
Wann R-Wert-Referenzen verwendet werden sollten
Verwenden Sie R-Wert-Referenzen in den folgenden Szenarien:
-
Konstruktoren und Operatoren verschieben: Um Funktionen zu definieren, die Ressourcen effizient von einem verschieben können R-Wert.
-
Perfekte Weiterleitung: Um generische Funktionen zu erstellen, die R-Werte und L-Werte transparent verarbeiten können.
-
Implizite Konvertierungen: Um die Bindung von R-Wert-Referenzen zu ermöglichen zu Provisorien, die aus impliziten resultieren Konvertierungen.
Wichtige Eigenschaften
-
Überladungsauflösung: L-Wert-Referenzen werden für L-Werte bevorzugt, während R-Wert-Referenzen für bevorzugt werden rvalues.
-
Implizite Bindung: R-Wert-Referenzen können ohne explizite Konvertierung an R-Werte und Temporäre gebunden werden.
-
Wertekategorie: Benannte R-Wert-Referenzen sind L-Werte, während unbenannte R-Wert-Referenzen R-Werte sind.
Das obige ist der detaillierte Inhalt vonWas sind C 11 Rvalue-Referenzen (&&) und wie werden sie verwendet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!