【发布时间】:2014-08-07 16:15:08
【问题描述】:
是否有可能获得对 shared_ptr 的弱引用计数?我知道如何使用
获取 shared_ptr 使用计数std::shared_ptr::use_count
但我想知道是否有任何非实现特定的方法来获取weak_count 引用的数量?
【问题讨论】:
-
没有。最多可能有许多实现支持的方式。
-
您要解决的真正问题是什么? (还要注意该标准对
use_count或[20.7.2.2.5/8]都没有性能限制)。 -
@MarkB:我也对这个感兴趣;因为没有办法阻止其他人同时创建另一个引用......
-
即使你可以获得弱引用计数,它也不太可能有用,因为该值取决于实现。库可以选择将其实现为
weak_count = num_weak_refs + (use_count > 0)或weak_count = num_weak_refs + use_count -
我只是在探索防止 shared_ptr 循环的选项。
标签: c++ c++11 shared-ptr tr1