Salut,
Généralement, une rvalue(Right VALUE) représente... toute expression pouvant se trouver à droite d'un opérateur d'affectation (ou de comparaison)
L'autre terme "concomitant" est la lvalue (Left VALUE) qui représente... toute expression pouvant se trouver à gauche d'un opérateur d'affectation (ou de comparaison)
Ainsi, quand tu fais
i est une lvalue (se trouve à gauche de l'opérateur d'affectation) et 2 est une rvalue (se trouve à droite de l'opérateur d'affectation)
Si on parle d'expression ici, c'est parce que dans le cas d'un code proche de
i = obj1.getA()+obj1.getB()*obj1.getC();
tu te rend compte que pour évaluer la valeur à donner à i, il faut commencer:
- obtenir la valeur renvoyée par getA
- obtenir la valeur renvoyée par getB
- obtenir la valeur renoyée par getC
- multiplier la valeur obtenue en (2) par la valeur obtenue en (3)
- additionner la valeur obtenue en (1) par le résultat de (4)
Partager