[請益] 左值右值與物件傳回
#include <iostream>
using namespace std;
class A{};
A f (A x){
return x;
}
int main (){
A a;
f (a) = a;
return 0;
}
當我這樣寫的時候,程式是合法的
#include <iostream>
using namespace std;
class A{};
A f (A x){
return x;
}
int main (){
A a;
cout<<&f (a);
return 0;
}
但是這樣寫的時候變成不合法了。錯誤訊息是說不能對右值取址
但是,f(a)不是可以放在左邊嗎(例一)我的認知是,可以放在左邊的就可以是左值不是嗎
?xd
或者說,f(A1)本身可以放在左邊也讓我覺得很疑惑,因為他應該只是函數的傳回值,如果
是一般的傳回值的確應該是不能當左值(除了參照我想不到別的..)
有人可以幫我解惑嗎 謝謝
p.s.c++關於記憶體的部分真的讓我蠻苦手的...想請問有沒有推薦的書呢,謝謝大家
----
Sent from BePTT on my OPPO CPH1943
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.200.242.58 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Programming/M.1700779007.A.500.html
※ 編輯: amamoimi (1.200.242.58 臺灣), 11/24/2023 06:56:17
推
11/24 12:23,
1年前
, 1F
11/24 12:23, 1F
→
11/24 12:23,
1年前
, 2F
11/24 12:23, 2F
→
11/24 12:23,
1年前
, 3F
11/24 12:23, 3F
→
11/24 18:17,
1年前
, 4F
11/24 18:17, 4F
→
11/24 18:17,
1年前
, 5F
11/24 18:17, 5F
→
11/24 20:42,
1年前
, 6F
11/24 20:42, 6F
→
11/24 20:42,
1年前
, 7F
11/24 20:42, 7F
→
11/24 20:42,
1年前
, 8F
11/24 20:42, 8F
Programming 近期熱門文章
PTT數位生活區 即時熱門文章