【发布时间】:2011-10-13 04:58:49
【问题描述】:
enable_shared_from_this 帮助器包含一个弱指针,该指针在创建指向对象的共享指针时设置。这意味着在对象中存在引用计数(使用make_shared 单独或与对象一起分配)和额外的weak_ptr。
现在为什么不简单地包含引用计数呢?当从哑指针设置shared_ptr时,类型必须完全定义,所以shared_ptr构造函数或赋值运算符可以检测到类型是从enable_shared_from_this派生的并使用正确的计数器并且格式可以保持不变,所以复制不在乎。事实上,shared_ptr 已经检测到它来设置嵌入的weak_ptr。
【问题讨论】:
标签: c++ c++11 shared-ptr enable-shared-from-this