→ loveme00835:原本的程式碼可以 po 一下嗎 ? 07/01 15:47
※ 編輯: jehovah 來自: 210.69.128.66 (07/01 15:56)
→ jehovah:補上了原程式碼, 有勞幫忙看看..幫小弟解惑^^ 07/01 15:57
→ loveme00835:用VS2010 可以編過的說 0.0, Dev C++ 還在看 07/01 16:17
→ loveme00835:把 operator << 的 header 改成 const Date& 就可以了 07/01 16:19
→ loveme00835:原因應該是暫時物件被解構的關係 07/01 16:20
→ jehovah:發現temp的建立不會呼叫ctor..但解構會呼叫dtor 07/01 17:00
→ jehovah:且是印出cout<<d++ 後才呼叫temp的dtor @@" 07/01 17:02
推 loveme00835:會呼叫ctor, 在這時候 temp 跟回傳的物件是同一個, 屬 07/01 21:08
→ loveme00835:於暫時物件, 這時候可以用const reference接起來讓他 07/01 21:11
→ loveme00835:晚一點解構掉 07/01 21:12
→ coldstars:const Date&才可以 這是右值不能放進non-const的問題 07/01 22:07
→ coldstars:至於temp不會呼叫ctor可能是被RVO吃掉了... 07/01 22:07
→ loveme00835:打錯, 是reference to const 07/01 22:28
→ jehovah:謝謝解答! 07/02 08:47