Computer >> Máy Tính >  >> Lập trình >> C ++

Rvalues, lvalues, xvalues, glvalues ​​và prvalues ​​trong C ++ là gì?


  • Một giá trị có địa chỉ mà chương trình của bạn có thể truy cập. Ví dụ về biểu thức giá trị bao gồm tên biến, bao gồm biến const, phần tử mảng, lệnh gọi hàm trả về tham chiếu giá trị, trường bit, liên kết và thành viên lớp.
  • Biểu thức xvalue không có địa chỉ nhưng có thể được sử dụng để khởi tạo tham chiếu rvalue, cung cấp quyền truy cập vào biểu thức. Ví dụ bao gồm các lệnh gọi hàm trả về tham chiếu rvalue, chỉ số con của mảng, v.v.
  • Giá trị keo (giá trị “tổng quát”) là giá trị lvalue hoặc giá trị x.
  • Biểu thức prvalue không có địa chỉ mà chương trình của bạn có thể truy cập được. Ví dụ về biểu thức prvalue bao gồm các chữ, lệnh gọi hàm trả về kiểu không tham chiếu