int&& getRRL() { return getRL(); } // getRL() 返回 int 右值
int& g = getRRL(); // ❌ 編譯錯誤:非常量引用的初始值必須為左值
getRRL() 返回類型為 int&&,表達式類別為 xvalue (過期值),屬於 右值;const int& g = getRRL(); // ✅ 延長臨時對象壽命
int&& h = getRRL(); // ✅ 直接綁定
| 引用類型 | 可綁定 lvalue | 可綁定 xvalue | 可綁定 prvalue |
|---|---|---|---|
| int& | ✅ | ❌ | ❌ |
| const int& | ✅ | ✅ | ✅ |
| int&& | ❌ | ✅ | ✅ |