Was ist rvalue und lvalue in C++?

Inhaltsverzeichnis:

Was ist rvalue und lvalue in C++?
Was ist rvalue und lvalue in C++?

Video: Was ist rvalue und lvalue in C++?

Video: Was ist rvalue und lvalue in C++?
Video: lvalues and rvalues in C++ 2024, November
Anonim

TL;DR: „lvalue“bedeutet entweder „Ausdruck, der auf der linken Seite des Zuweisungsoperators stehen kann“oder „Ausdruck, der eine Speicheradresse hat“. „ rvalue“ist definiert als „alle anderen Ausdrücke“.

Was ist lvalue und rvalue in C mit Beispiel?

Zum Beispiel erwartet eine Zuweisung einen lvalue als linken Operanden, also gilt: int i=10; Aber das ist nicht: int i; 10=ich; Das liegt daran, dass i eine Adresse im Speicher hat und ein lvalue ist. Während 10 keinen identifizierbaren Speicherort hat und daher ein rvalue ist.

Was ist der Unterschied zwischen rvalue und lvalue?

Ein lvalue bezieht sich auf ein Objekt, das über einen einzelnen Ausdruck hinaus besteht. Ein rvalue ist ein temporärer Wert, der nicht über den Ausdruck hinaus bestehen bleibt, der ihn verwendet.

Was ist rvalue in C?

L-Wert: „L-Wert“bezeichnet Speicherort, der ein Objekt identifiziert. Der l-Wert kann entweder als linke oder rechte Seite eines Zuweisungsoperators (=) erscheinen. l-Wert wird oft als Bezeichner dargestellt.

Was sind rvalue-Referenzen?

Rvalue-Referenzen sind eine kleine technische Erweiterung der C++-Sprache Rvalue-Referenzen ermöglichen es Programmierern, logisch unnötiges Kopieren zu vermeiden und perfekte Weiterleitungsfunktionen bereitzustellen. Sie sollen in erster Linie beim Design leistungsfähigerer und robusterer Bibliotheken helfen.