Re: [问题] class解构function呼叫问题

楼主: godspeedlee (妳,我可以)   2016-11-01 00:14:24
你把你的 ball 补上以下东西,然后再 step by step 追一次看看
ball(const ball& src)
operator=(const ball& src)
如果你要模拟传统 C linked list,而且不想面对以上两个
function member,又要达成自动内存管理,
感觉 boost::shared_ptr 是最好的选择?
作者: jobsdone (完工了)   2016-11-01 18:52:00
感谢 已经ok了
作者: hunandy14 (Charlott.HonG)   2016-11-03 00:59:00
总觉得这个思维好像有点问题(我是指原原PO的)副程式回传的应该是没有名字的(右值)要求她存在好像@@ 应该可以用其他方式达成吧~然后,弄个容器存下来就不会被解构了~ball b1; ball b2 = b1.fun(); system("pause");不确定你的 程式是写怎样~我用我猜的方式说明~~你可以干脆在 fun()里面 (*this)=bx 改值~或是主程式内 b2.fun(b1) 这样的方式改不知道有没有说清楚呢QQ我有误会什么,讲错什么也可以跟我说说~~这么说不知道对不对,右值的存在只是暂存给你复制这么想吧~她要是不自动解你也没办法解对吧~然后你呼叫好几次之后....如果只是想把值传出主程式没有 b1 b2 资料交互使用ball & ball::fun() 传参考出来就不会被解了~

Links booklink

Contact Us: admin [ a t ] ucptt.com