作者godspeedlee (你,我可以)
看板C_and_CPP
标题Re: [问题] class解构function呼叫问题
时间Tue Nov 1 00:14:24 2016
你把你的 ball 补上以下东西,然後再 step by step 追一次看看
ball(const ball& src)
operator=(const ball& src)
如果你要模拟传统 C linked list,而且不想面对以上两个
function member,又要达成自动记忆体管理,
感觉 boost::shared_ptr 是最好的选择?
--
各种杂七杂八的心得与无病呻吟
http://goodspeedlee.blogspot.tw/
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.136.58.24
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1477930467.A.2AE.html
1F:→ jobsdone: 感谢 已经ok了 11/01 18:52
2F:→ hunandy14: 总觉得这个思维好像有点问题(我是指原原PO的) 11/03 00:59
3F:→ hunandy14: 副程式回传的应该是没有名字的(右值) 11/03 01:00
4F:→ hunandy14: 要求她存在好像@@ 应该可以用其他方式达成吧~ 11/03 01:01
5F:→ hunandy14: 然後,弄个容器存下来就不会被解构了~ 11/03 01:02
6F:→ hunandy14: ball b1; ball b2 = b1.fun(); system("pause"); 11/03 01:02
7F:→ hunandy14: 不确定你的 程式是写怎样~我用我猜的方式说明~~ 11/03 01:03
8F:→ hunandy14: 你可以乾脆在 fun()里面 (*this)=bx 改值~ 11/03 01:04
9F:→ hunandy14: 或是主程式内 b2.fun(b1) 这样的方式改 11/03 01:05
10F:→ hunandy14: 不知道有没有说清楚呢QQ 11/03 01:05
11F:→ hunandy14: 我有误会什麽,讲错什麽也可以跟我说说~~ 11/03 01:07
12F:→ hunandy14: 这麽说不知道对不对,右值的存在只是暂存给你复制 11/03 01:10
13F:→ hunandy14: 这麽想吧~她要是不自动解你也没办法解对吧~ 11/03 01:10
14F:→ hunandy14: 然後你呼叫好几次之後.... 11/03 01:11
15F:→ hunandy14: 如果只是想把值传出主程式没有 b1 b2 资料交互使用 11/03 01:40
16F:→ hunandy14: ball & ball::fun() 传参考出来就不会被解了~ 11/03 01:40