C++ · Intermediário · Inglês · Técnico
lvalue
Expressão que designa um objeto com identidade e endereço, ao qual se pode atribuir, como uma variável com nome. Pode ser ligada a referências lvalue (T&).
Onde usar
A distinção entre lvalue e rvalue explica erros de ligação de referência. Entender isso é o primeiro passo para a semântica de movimento.
Em código
int x = 10; // x é lvalue
int& r = x; // ok: referência a lvalue
x = 20; // lvalue à esquerda
// int& e = 10; // erro: 10 é rvalueExemplos
That variable has a name, so it's an lvalue.
Essa variável tem nome, então é um lvalue.
You can't bind a non-const lvalue reference to a temporary.
Você não pode ligar uma referência lvalue não const a um temporário.
Cuidado
Uma variável de tipo T&& tem nome e, por isso, é um lvalue quando usada em uma expressão.
Antônimos
rvalue
Origem
Originalmente left value, o valor que pode aparecer à esquerda de uma atribuição.