码迷,mamicode.com
首页 > 其他好文 > 详细

RefBase, sp和wp (3)

时间:2015-03-14 15:12:23      阅读:142      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!