Что такое rvalue и lvalue в c++?

Оглавление:

Что такое rvalue и lvalue в c++?
Что такое rvalue и lvalue в c++?

Видео: Что такое rvalue и lvalue в c++?

Видео: Что такое rvalue и lvalue в c++?
Видео: Что такое гримас шейк?🥤 2024, Декабрь
Anonim

TL;DR: «lvalue» означает либо «выражение, которое может быть помещено в левую часть оператора присваивания», либо означает «выражение, имеющее адрес памяти». « rvalue» определяется как «все остальные выражения».

Что такое lvalue и rvalue в C на примере?

Например, присваивание ожидает lvalue в качестве левого операнда, поэтому допустимо следующее: int i=10; Но это не так: int i; 10=я; Это потому, что у меня есть адрес в памяти и это lvalue. В то время как 10 не имеет идентифицируемой ячейки памяти и, следовательно, является rvalue.

В чем разница между rvalue и lvalue?

lvalue относится к объекту, который сохраняется за пределами одного выражения. Значение r - это временное значение, которое не сохраняется за пределами выражения, в котором оно используется.

Что такое rvalue в языке C?

L-значение: «l-значение» относится к ячейке памяти, которая идентифицирует объект. l-значение может отображаться либо как левая, либо как правая часть оператора присваивания (=). l-значение часто представляет собой идентификатор.

Что такое ссылки rvalue?

Ссылки Rvalue - это небольшое техническое расширение языка C++ Ссылки Rvalue позволяют программистам избежать логически ненужного копирования и обеспечить идеальные функции пересылки. В первую очередь они предназначены для помощи в разработке более производительных и надежных библиотек.