TL;DR: “lvalue” означава или “израз, който може да бъде поставен от лявата страна на оператора за присвояване”, или означава “израз, който има адрес на паметта”. “ rvalue” се дефинира като “всички други изрази”.
Какво е lvalue и rvalue в C с пример?
Например, присвояването очаква lvalue като ляв операнд, така че следното е валидно: int i=10; Но това не е: int i; 10=i; Това е така, защото имам адрес в паметта и е lvalue. Докато 10 няма разпознаваемо място в паметта и следователно е rvalue.
Каква е разликата между rvalue и lvalue?
Lvalue се отнася до обект, който съществува извън един израз. Стойността r е временна стойност, която не съществува извън израза, който я използва.
Какво е rvalue на език C?
L-стойност: "l-стойност" се отнася до място в паметта, което идентифицира обект. l-стойността може да се появи като лява или дясна страна на оператор за присвояване (=). l-стойността често се представя като идентификатор.
Какви са препратките за rvalue?
Rvalue препратките са малко техническо разширение към езика C++ Референциите на Rvalue позволяват на програмистите да избягват логически ненужно копиране и да предоставят перфектни функции за препращане. Те са предназначени основно да помогнат при проектирането на по-висока производителност и по-стабилни библиотеки.