Итак, я узнал о lvalues и rvalues - может ли кто-нибудь хорошо разбираться в C/C++ сказать, правильно ли я думаю?C++ lvalues и rvalues
Рассмотрим код:
int i = 3;
int j = i;
Здесь мы имеем два lvalues i
и j
, когда i
присваивается j
становится неявной RValue, поскольку копия i
хранится в j
. Если же код выглядел так:
int i = 3;
int j = &i;
бы как j
и &i
быть lvalues, потому что они оба являются физические адреса в памяти? Я понимаю, что rvalues являются временными данными, тогда как lvalues имеют физический/ссылочный адрес памяти.
Любые разъяснения об этом были бы замечательными!
Я рекомендую [Strachey (1967)] (http://www.itu.dk/courses/BPRD/E2009/fundamental-1967.pdf), раздел 2. – molbdnilo
Спасибо @molbdnilo - я проверю, что ссылка теперь – Alex