Heim >Backend-Entwicklung >C++ >Was bedeutet das doppelte kaufmännische Und-Zeichen (&&) in C 11?
Dekodierung des doppelten kaufmännischen Und-Zeichens in C 11
C 11 führt einen neuen Operator ein, das doppelte kaufmännische Und-Zeichen (T&&), das große Aufmerksamkeit erregt hat . Dieses rätselhafte Symbol hat Neugier und Fragen hinsichtlich seiner Bedeutung und Nützlichkeit geweckt.
Was ist das doppelte kaufmännische Und?
Der doppelte kaufmännische Und-Operator deklariert eine R-Wert-Referenz. Diese R-Wert-Referenz kann im Gegensatz zu einer herkömmlichen L-Wert-Referenz in C 03 sowohl an R-Werte (temporäre Werte) als auch an L-Werte binden, ohne dass ein const-Qualifizierer erforderlich ist. Folglich ermöglicht es die Deklaration einer R-Wert-Referenzvariablen, die auf eine temporäre Variable verweisen kann.
Der Zweck von R-Wert-Referenzen
R-Wert-Referenzen sorgen in erster Linie für die folgenden Verbesserungen :
Bewegungssemantik:
Bewegung Die Semantik ermöglicht die Definition von Verschiebungskonstruktoren und Verschiebungszuweisungsoperatoren, die eine R-Wert-Referenz anstelle einer konstanten L-Wert-Referenz annehmen. Verschiebefunktionen simulieren das Kopierverhalten und vermeiden gleichzeitig die Notwendigkeit, die Quelle beizubehalten. Sie ändern typischerweise die Quelle, um den Besitz ihrer Ressourcen freizugeben, was zu effizienteren Vorgängen führt und unnötige Kopien reduziert.
Perfekte Weiterleitung:
R-Wert-Referenzen erleichtern die korrekte Weiterleitung von Argumente in Vorlagenfunktionen. Dies ermöglicht die Erstellung generischer Factory-Funktionen wie std::forward, die jede beliebige Kombination von L-Wert- oder R-Wert-Argumenten akzeptieren und diese an den entsprechenden Konstruktor übergeben können.
Zusätzliche Eigenschaften von R-Wert-Referenzen:
Das obige ist der detaillierte Inhalt vonWas bedeutet das doppelte kaufmännische Und-Zeichen (&&) in C 11?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!