Ի՞նչ է lvalue-ը և rvalue C++-ը:
Ի՞նչ է lvalue-ը և rvalue C++-ը:

Video: Ի՞նչ է lvalue-ը և rvalue C++-ը:

Video: Ի՞նչ է lvalue-ը և rvalue C++-ը:
Video: Դաս 1 - C++ as a Federation of Languages | "Effective C++ Unleashed" դասընթաց 2024, Մայիս
Anonim

TL;DR: արժեքը կամ նշանակում է «արտահայտություն, որը կարող է տեղադրվել հանձնարարության օպերատորի ձախ կողմում», կամ նշանակում է «արտահայտություն, որն ունի հիշողության հասցե»: « rարժեք », սահմանվում է որպես «բոլոր մյուս արտահայտությունները»:

Նմանապես, ի՞նչ է lvalue-ը և rvalue C++-ը:

Մեջ C++ ան արժեքը մի բան է, որը մատնանշում է հիշողության կոնկրետ տեղանքը: Մյուս կողմից, Ա rարժեք մի բան է, որը ոչ մի տեղ չի մատնանշում: Ընդհանրապես, rարժեքներ ժամանակավոր են և կարճատև, մինչդեռ արժեքներ ապրել ավելի երկար, քանի որ դրանք գոյություն ունեն որպես փոփոխականներ: Փոփոխականն ունի հիշողության հատուկ տեղակայում, ուստի այն ան արժեքը.

Իմացեք նաև, թե որն է փոփոխականի L արժեքը: Ինչ է R արժեքը: Առաջադրանք: լ - արժեքներ և r - արժեքներ Ան լ - արժեքը վերաբերում է մի առարկայի, որը պահպանվում է մեկ արտահայտությունից դուրս: Ան r - արժեքը ժամանակավոր է արժեքը որը չի պահպանվում այն արտահայտությունից այն կողմ, որն օգտագործում է այն:

Այստեղ ի՞նչ է Rvalue C++-ը:

Այսպիսով, անվանված փոփոխականը (օրինակ՝ x) lարժեք է, իսկ բառացի ամբողջ թիվը (օրինակ՝ 42)՝ rարժեք . Այնուամենայնիվ, ժամանակակից C++ դա ավելի նրբերանգ է, քան դա: C++-ում ան rարժեք անանուն օբյեկտ է կամ այդպիսի օբյեկտի անդամ, որը հղում չէ:

Ի՞նչ է lvalue-ը և rvalue-ը Python-ում:

ան արժեքը արտահայտություն է, որի վրա կարող է կիրառվել unary & օպերատորը, մինչդեռ an rարժեք արտահայտություն է, որի վրա unary & operator-ը չի կարող կիրառվել: