【发布时间】:2022-07-26 16:39:15
【问题描述】:
_Sp_counted_base 的实现使用原子计数器:
_Atomic_word _M_use_count; // #shared
_Atomic_word _M_weak_count; // #weak + (#shared != 0)
为什么计数器是原子的,而 ptr 不是?需要自动计数吗?有没有必要的例子?
(因为 std::shared_ptr 不是线程安全的,所以我认为不需要原子计数)
【问题讨论】:
-
std::shared_ptr是线程安全
标签: c++ shared-ptr