Shared_ptr 相互引用问题
2014-05-30 23:47
253 查看
class parent { public: ~parent() { std::cout <<"destroying parent\n"; } public: children_ptr children; }; class children { public: ~children() { std::cout <<"destroying children\n"; } public: parent_ptr parent; }; void test() { parent_ptr father(new parent()); children_ptr son(new children); father->children = son; son->parent = father; }
在函数 test() 中,father->children = son, 使得 father 的计数器加至 2, son 同理,以至于析构 father(或son)时,仅仅是计数器减一,指针指向的资源并没有被析构。
参考
[1] http://blog.csdn.net/liuzhi1218/article/details/6993135
相关文章推荐
- shared_ptr相互引用问题
- weak_ptr的作用及应用场景——shared_ptr的循环引用问题
- shared_ptr 循环引用问题
- std::shared_ptr 和 std::weak_ptr的用法以及引用计数的循环引用问题
- std::shared_ptr 和 std::weak_ptr的用法以及引用计数的循环引用问题
- shared_ptr循环引用问题
- C++11智能指针(五):shared_ptr的循环引用的问题及weak_ptr
- 关于std::shared_ptr与std::enable_shared_from_this循环引用导致的问题
- std::shared_ptr 和 std::weak_ptr的用法以及引用计数的循环引用问题
- 浅谈shared_ptr及shared_ptr涉及到的循环引用问题
- shared_ptr循环引用问题
- std::shared_ptr 和 std::weak_ptr的用法以及引用计数的循环引用问题
- C++智能指针(三):weak_ptr--解决shared_ptr循环引用问题
- 用weak_ptr解决shared_ptr的环形引用问题
- std::shared_ptr 和 std::weak_ptr的用法以及引用计数的循环引用问题
- shared_ptr循环引用问题
- shared_ptr产生的循环引用问题
- C++中两个类相互包含引用问题
- 多Resource文件的相互引用与合并问题及其解决方案
- weak_ptr解决shared_ptr环状引用所引起的内存泄漏