[問題] 觀念問題 class自訂operator
一個function在傳遞參數時若是 pass by value
那進入那個function時 參數會被複製一份去做運算
那如果是自訂的 class operator 呢?
假設
Vector A;
Vector B;
Vector C;
C = A+B; //假設我已經定義好 "+"
請問在算A+B時 會是像function 的 pass by value 複製一份A和B再去算C
還是像function的 pass by address 複製A和B的address
背後的原理是什麼呢?
謝謝
------------------------
補充: 假設operator是一個向量加法定義如下
程式在算 A+B時會是pass by value 嗎
Vector Vector::operator+ (Vector param) {
Vector temp;
temp.x = x + param.x;
temp.y = y + param.y;
temp.z = z + param.z;
return (temp);
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 75.72.176.13
推
06/23 07:44, , 1F
06/23 07:44, 1F
→
06/23 08:52, , 2F
06/23 08:52, 2F
※ 編輯: qqdn 來自: 75.72.176.13 (06/23 08:53)
→
06/23 09:01, , 3F
06/23 09:01, 3F
→
06/23 09:04, , 4F
06/23 09:04, 4F
→
06/23 09:06, , 5F
06/23 09:06, 5F
→
06/23 09:09, , 6F
06/23 09:09, 6F
→
06/23 09:26, , 7F
06/23 09:26, 7F
推
06/24 01:14, , 8F
06/24 01:14, 8F