লিভ্যালু (lvalue) কী?
একটি lvalue (লোকেটর ভ্যালু) একটি বস্তুকে উপস্থাপন করে যা মেমরিতে একটি চিহ্নিত অবস্থান দখল করে (অর্থাৎ এর একটি ঠিকানা থাকে)।
আরভ্যালু (rvalue) কী?
rvalue들을 বর্জনের মাধ্যমে সংজ্ঞায়িত করা হয়। প্রতিটি এক্সপ্রেশন হয় একটি lvalue অথবা rvalue, তাই একটি rvalue হল এমন একটি এক্সপ্রেশন যা মেমরিতে কোনো চিহ্নিত অবস্থান দখলকারী বস্তুকে উপস্থাপন করে না।
উদাহরণ
একটি অ্যাসাইনমেন্ট তার বাম অপারেন্ড হিসেবে একটি lvalue আশা করে, তাই নিচের কোডটি বৈধ:
int i = 10;
কিন্তু এটি বৈধ নয়:
int i; 10 = i;
এটি হলো কারণ i-র মেমরিতে একটি ঠিকানা রয়েছে এবং এটি একটি lvalue। অন্যদিকে 10-এর কোনো চিহ্নিত মেমরি অবস্থান নেই, তাই এটি একটি rvalue। সুতরাং i-র মান 10-এ অ্যাসাইন করা কোনো অর্থ বহন করে না।