首页 > 其他 > 详细

RefBase, sp和wp (3)

时间:2015-03-14 15:12:21      阅读:243      评论:0      收藏:0      [点我收藏+]

    RefBase提供了一个函数: extendObjectLifetime(int32_t mode); 用于在构造函数中设置mFlags的值.

    以及定义了一个枚举:

    enum {

        OBJECT_LIFETIME_WEAK = 0x0001;              // 二进制为B01

        OBJECT_LIFETIME_FOREVER = 0x0003;          // 二进制为B11, 即FOREVER包含了WEAK的情况。

    };

1. 当mFlags为0时,强引用计数控制实际对象生命周期,弱引用计数控制影子对象生命周期。

2. 当mFlags为OBJECT_LIFETIME_WEAK时,当强引用计数为0, 弱引用计数不为0时,实际对象不会被delete 。当强引用计数和弱引用计数同时为0时,实际对象和影子对象才会被delete 。

3. 当mFlags为OBJECT_LIFETIME_FOREVER时, 对象将会一直存在,不受强弱引用计数的控制,需要在适当的时候进行删除。

RefBase, sp和wp (3)

原文:http://www.cnblogs.com/Jackwen/p/4337491.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!