_Sp_counted_base使用原子计数器的实现:
_Atomic_word _M_use_count; // #shared
_Atomic_word _M_weak_count; // #weak + (#shared != 0)
Run Code Online (Sandbox Code Playgroud)
为什么计数器是原子的而指针不是?原子计数有必要吗?有没有例子说明其必要性?
(因为std::shared_ptr不是线程安全的,所以我认为原子计数是没有必要的。)