Outils pour utilisateurs

Outils du site


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