lvalue (लोकेटर वैल्यू) क्या है?
एक lvalue (लोकेटर वैल्यू) उस ऑब्जेक्ट को दर्शाता है जो मेमोरी में किसी पहचान योग्य स्थान पर स्थित होता है (यानी जिसका एक एड्रेस होता है)।
rvalue क्या है?
rvalue को अपवर्जन द्वारा परिभाषित किया जाता है। प्रत्येक एक्सप्रेशन या तो lvalue होता है या rvalue, इसलिए rvalue एक ऐसा एक्सप्रेशन है जो मेमोरी में किसी पहचान योग्य स्थान पर स्थित ऑब्जेक्ट को दर्शाता नहीं है।
उदाहरण
एक असाइनमेंट अपने बाएं ऑपरेंड के रूप में lvalue की अपेक्षा करता है, इसलिए निम्नलिखित वैध है:
int i = 10;
लेकिन यह वैध नहीं है:
int i; 10 = i;
ऐसा इसलिए है क्योंकि i का मेमोरी में एक एड्रेस होता है और यह एक lvalue है। जबकि 10 की कोई पहचान योग्य मेमोरी लोकेशन नहीं होती और इसलिए यह एक rvalue है। इसलिए i के मान को 10 में असाइन करना कोई मायने नहीं रखता।