lang:cpp:rvalue
Ceci est une ancienne révision du document !
lvalue et rvalue
a = 2;
lvalue
sont les valeurs associées à un objet (et donc généralement à gauche) et rvalue
sont les valeurs potentiellement non associée à un objet (généralement à droite d'une expression, valeur temporaire).
Une lvalue
se convertit implicitement en rvalue
mais pas l'inverse.
Avec les références &
, une lvalue
non constante ne peut être assignée par une rvalue
.
std::string& sref = std::string(); // NOK const std::string& sref = std::string(); // OK
Understanding lvalues and rvalues in C and C++ Archive du 15/12/2011 le 18/10/2019
std::forward
s'utilise dans des méthodes templates. Cette fonction permet d'utiliser le bon choix entre std::copy
(référence &
) et std::move
(référence &&
).
C++ Rvalue References Explained Archive de 03/2013 le 18/10/2019
lang/cpp/rvalue.1571399283.txt.gz · Dernière modification : 2019/10/18 13:48 de root