Heim >Backend-Entwicklung >C++ >Was sind C 11 Rvalue-Referenzen (&&) und wie werden sie verwendet?

Was sind C 11 Rvalue-Referenzen (&&) und wie werden sie verwendet?

DDD
DDDOriginal
2024-12-20 15:48:25161Durchsuche

What are C  11 Rvalue References (&&) and How Are They Used?

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!

Stellungnahme:
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