網(wǎng)上說(shuō)weak_ptr是shared_ptr的觀察員,weak_ptr不會(huì)干擾shared_ptr機(jī)制,當(dāng)weak_ptr所觀察的shared_ptr要釋放對(duì)象時(shí),weak_ptr的指針將被置空,避免空懸指針。weak_ptr只能通過(guò)shared_ptr或weak_ptr構(gòu)造。對(duì)于一個(gè)shared_ptr,它分別對(duì)強(qiáng)引用和弱引用都做了計(jì)數(shù)。
當(dāng)一個(gè)對(duì)象返回出一個(gè)自身對(duì)象shared_ptr,一般用enable_shared_from_this,而enable_shared_from_this就是用weak_ptr來(lái)實(shí)現(xiàn)的。
結(jié)果是:
不能釋放對(duì)象。對(duì)于這種情況要這么做:
posted on 2009-09-17 15:14 tiny 閱讀(2132) 評(píng)論(0) 編輯 收藏 引用
Powered by: C++博客 Copyright © tiny