Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Lvalue và Rvalue trong C++ là gì?


lvalue (locator value) đại diện cho đối tượng chiếm một vị trí xác định trong bộ nhớ (có địa chỉ).

rvalue được định nghĩa bằng cách loại trừ: mọi biểu thức hoặc là lvalue hoặc là rvalue, do đó rvalue là biểu thức không đại diện cho đối tượng chiếm vị trí bộ nhớ xác định.

Ví dụ: phép gán mong đợi lvalue ở vế trái, nên sau hợp lệ:

int i = 10;

Nhưng này không:

int i; 10 = i;

Vì i có địa chỉ trong bộ nhớ nên là lvalue. Còn 10 không có vị trí bộ nhớ xác định nên là rvalue. Gán giá trị của i cho 10 không có nghĩa.