Lvalue (от Left value) – значение, которое может находится в левой части оператора присваивания.
Формат операции: Lvalue op expression (не всегда является именем переменной)
В простейшем случае сначала вычисляется выражение в правой части, затем его результат записывается в место памяти, соответствующее Lvalue. В более сложных случаях при вычислении expression может использоваться значение Lvalue. Общий формат этих более сложных случаев следущий:
Lvalue op= expression ó Lvalue = Lvalue op expression
int a = 5;
a = a + 10 ó a += 10 – предпочтительнее и эффективнее, т.к. адрес вычисляется только один раз
Как и все операции в С++, операция присваивания имеет результат. Результатом является значение Lvalue после выполнения операции. Это позволяет встраивать операцию присваивания внутрь других выражений.
1) int a = 5;
cout << ((a += 3) + 2); //17
2) a = b = c = 1;