作者POSIX (tedium of chores)
看板C_and_CPP
標題請問constructor
時間Tue Dec 7 18:32:33 2010
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
→ loveflames:加上const? 12/07 18:35
→ wawi:看完簽名檔大笑XDDD 12/07 18:36
→ POSIX:除了我提到的兩種作法外 對於construction有更好作法嗎? 12/07 18:39
→ james732:一樓說加上const不符合你的期望嗎? 12/07 18:40
→ POSIX:果然!!! 3q 1F/4F 12/07 18:41
推 loveme00835:或是多加一個 & 也可 XD 12/07 18:47
→ james732:多加一個 & 該不會是 rvalue ref 吧? 12/07 18:56
→ loveme00835:是阿 0.0 12/07 18:57
→ james732:其實我還不懂rvalue ref是什麼 XD 原來可以用在這裡 12/07 18:58
推 Yshuan:版上有篇精華寫得很詳細 rvalue ref 12/07 19:21