为什么C++标准为atomic_store
包括atomic_load
或shared_ptr
重载,但没有为weak_ptr
提供重载?
这仅仅是一个疏忽,还是有一个不为weak_ptr
提供原子操作的实际原因?
最佳答案
这似乎是一个疏忽。 Herb Sutter有一个C++(17?)标准设计建议书,用于atomic_shared_ptr/atomic_unique_ptr/atomic_weak_ptr,该文档还解释了现有方法的弊端,该方法为shared_ptr提供了免费的函数集atomic_load/atomic_store: