MyTetra Share
Делитесь знаниями!
Краткое объяснение, что такое Lvalue и Rvalue в языке C++
Время создания: 15.02.2024 13:00
Текстовые метки: c++, lvalue, rvalue, объяснение
Раздел: Компьютер - Программирование - Язык C++ (Си++)
Запись: xintrea/mytetra_syncro/master/base/1707991234nda7nq00wu/text.html на raw.github.com

Lvalue: Те выражения, которым можно присваивать, называются lvalue в C, C++ и многих других языках (это сокращение от «left value», т. е. слева от знака равенства). Остальные выражения называются rvalue. Имена переменных очевидным образом являются lvalue, но не только они. Выражения:


a[i + 2]

some_struct.some_field

*ptr

*(ptr + 3)


— это все тоже Lvalue.


Другими словами, Lvalue - это нечто, чему можно присвоить. Т. е. это некое фиксированное место в памяти, куда можно что-то положить.



Rvalue: это выражения, которым присваивать нельзя. Нельзя написать так:


int a=5;

10=a; // Ошибка


Здесь во второй строке 10 - это Rvalue. И такому выражению (выражению 10) невозможно ничего присвоить.


Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования