ExpertiDict

C++ · Intermediário · Inglês · Técnico

lvalue

ˈɛl.væl.juːsubstantivo

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 é rvalue

Exemplos

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.

Veja também

Todos os termos de C++