[問題] 請問constructor

看板C_and_CPP作者 (tedium of chores)時間13年前 (2010/12/07 18:32), 編輯推噓2(208)
留言10則, 6人參與, 最新討論串1/1
class classA { public: classA(int x); ... } class classB { public: classB(); classB(classA& a1, classA& a2); classA operator*(const classB& b1, const classB& b2); ... }; int main(){ ... classA aa(1,1); cout << classB(aa, classA(99)) << endl; // error } 資料結構大概長這樣 相對應的operator<< 有overload 過 現在問題大概是兩個黃色標記處 因為我想要我construction 時可以不copy情況下取reference做運算 但是由於我想要一步登天 在呼叫的時候使用anonymouse obj 似乎會無法做reference 遇到這種情況大家都是如何取捨呢? 是直接把classB constructor 的& 去掉 還是在使用的時候 宣告出來一個instance(例如 aa) 才丟進去使用呢? -- ≡ Ⅲ chung li, 5 tsan fung long, ya hwa 4 zhou dong yea tsan shung 5 z bow z 7, 5 gu bu z fung, kang wou ming zhu tsau gin da tong tsong yea way gin, may why zhou sang ley, so chang bu e, mo to 5 gin gong tong sin song der, kwong tsaer 4 zhong, tong sin song der, kwong tsaer 4 zhong, -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.169.209

12/07 18:35, , 1F
加上const?
12/07 18:35, 1F

12/07 18:36, , 2F
看完簽名檔大笑XDDD
12/07 18:36, 2F

12/07 18:39, , 3F
除了我提到的兩種作法外 對於construction有更好作法嗎?
12/07 18:39, 3F

12/07 18:40, , 4F
一樓說加上const不符合你的期望嗎?
12/07 18:40, 4F

12/07 18:41, , 5F
果然!!! 3q 1F/4F
12/07 18:41, 5F

12/07 18:47, , 6F
或是多加一個 & 也可 XD
12/07 18:47, 6F

12/07 18:56, , 7F
多加一個 & 該不會是 rvalue ref 吧?
12/07 18:56, 7F

12/07 18:57, , 8F
是阿 0.0
12/07 18:57, 8F

12/07 18:58, , 9F
其實我還不懂rvalue ref是什麼 XD 原來可以用在這裡
12/07 18:58, 9F

12/07 19:21, , 10F
版上有篇精華寫得很詳細 rvalue ref
12/07 19:21, 10F
文章代碼(AID): #1C_Wr4rp (C_and_CPP)