[問題] invalid initial of ref from rvalue

看板C_and_CPP (C/C++)作者 (夢想)時間13年前 (2013/01/03 02:25), 編輯推噓1(103)
留言4則, 4人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Code::Blocks 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) no 問題(Question): class A { public: int get(){return i;} private: int i; }; int main() { A a; int &j = a.get(); //error return 0; } 請問為什麼傳回來的是rvalue? 傳回來的不是a的member i嗎? 對於lvalue, rvalue有點不太懂 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 36.228.246.200

01/03 02:37, , 1F
傳回來的是變數的值,而不是變數本身。
01/03 02:37, 1F

01/03 02:43, , 2F
突然懂了 感謝樓上 這麼基本的東西居然忘了...
01/03 02:43, 2F

01/03 10:19, , 3F
用const ref可以過, 但是也是一個無意義的舉動
01/03 10:19, 3F

01/03 12:05, , 4F
const int&會抓住那個暫時物件直到scope結束才釋放掉
01/03 12:05, 4F
文章代碼(AID): #1Gv7kX4l (C_and_CPP)
文章代碼(AID): #1Gv7kX4l (C_and_CPP)