網上說weak_ptr是shared_ptr的觀察員,weak_ptr不會干擾shared_ptr機制,當weak_ptr所觀察的shared_ptr要釋放對象時,weak_ptr的指針將被置空,避免空懸指針。weak_ptr只能通過shared_ptr或weak_ptr構造。對于一個shared_ptr,它分別對強引用和弱引用都做了計數。
當一個對象返回出一個自身對象shared_ptr,一般用enable_shared_from_this,而enable_shared_from_this就是用weak_ptr來實現的。
結果是:
不能釋放對象。對于這種情況要這么做:
posted on 2009-09-17 15:14 tiny 閱讀(2118) 評論(0) 編輯 收藏 引用
Powered by: C++博客 Copyright © tiny