Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

rvalues, lvalues, xvalues, glvalues, prvalues ใน C++ คืออะไร?

  • lvalue มีที่อยู่ที่โปรแกรมของคุณเข้าถึงได้ ตัวอย่าง lvalue expressions ได้แก่ ชื่อตัวแปร รวมถึงตัวแปร const, องค์ประกอบอาร์เรย์, ฟังก์ชันที่คืน lvalue reference, bit-fields, unions, และ class members
  • xvalue (eXpiring value) ไม่มีที่อยู่แต่สามารถใช้ initialize rvalue reference ได้ ซึ่งให้การเข้าถึง expression นั้น ตัวอย่างเช่น ฟังก์ชันที่คืน rvalue reference, array subscript ฯลฯ
  • glvalue (generalized lvalue) คือ lvalue หรือ xvalue
  • rvalue (รูทค่า) คือ xvalue, temporary object หรือ subobject ของมัน, หรือค่าที่ไม่เกี่ยวข้องกับออบเจ็กต์
  • prvalue (pure rvalue) ไม่มีที่อยู่ที่เข้าถึงได้โดยโปรแกรม ตัวอย่าง prvalue expressions ได้แก่ literals, ฟังก์ชันที่คืน non-reference type