Qu'est-ce que rvalue et lvalue en c++ ?

Table des matières:

Qu'est-ce que rvalue et lvalue en c++ ?
Qu'est-ce que rvalue et lvalue en c++ ?

Vidéo: Qu'est-ce que rvalue et lvalue en c++ ?

Vidéo: Qu'est-ce que rvalue et lvalue en c++ ?
Vidéo: LValue, RValue, References, std::move et std::forward 2024, Novembre
Anonim

TL;DR: "lvalue" signifie soit "expression qui peut être placée à gauche de l'opérateur d'affectation", soit signifie "expression qui a une adresse mémoire". " rvalue" est défini comme "toutes les autres expressions ".

Qu'est-ce que lvalue et rvalue en C avec exemple ?

Par exemple, une affectation attend une lvalue comme opérande gauche, donc ce qui suit est valide: int i=10; Mais ce n'est pas: int i; 10=je; C'est parce que i a une adresse en mémoire et est une lvalue. Alors que 10 n'a pas d'emplacement de mémoire identifiable et est donc une rvalue.

Quelle est la différence entre rvalue et lvalue ?

Une lvalue fait référence à un objet qui persiste au-delà d'une seule expression. Une rvalue est une valeur temporaire qui ne persiste pas au-delà de l'expression qui l'utilise.

Qu'est-ce que rvalue en langage C ?

L-value: "l-value" fait référence à l'emplacement de la mémoire qui identifie un objet. la valeur l peut apparaître à gauche ou à droite d'un opérateur d'affectation (=). la valeur l représente souvent un identifiant.

Que sont les références rvalue ?

Les références Rvalue sont une petite extension technique du langage C++ Les références Rvalue permettent aux programmeurs d'éviter les copies logiquement inutiles et de fournir des fonctions de transfert parfaites. Ils sont principalement destinés à faciliter la conception de bibliothèques plus performantes et plus robustes.