网上说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 阅读(2106) 评论(0) 编辑 收藏 引用
Powered by: C++博客 Copyright © tiny