C++ 標準にatomic_store
orのatomic_load
オーバーロードが含まれているのにshared_ptr
、 が含まれていないのはなぜweak_ptr
ですか?
これは単なる見落としですか、それともアトミック操作を提供しない実際の理由はありweak_ptr
ますか?
C++ 標準にatomic_store
orのatomic_load
オーバーロードが含まれているのにshared_ptr
、 が含まれていないのはなぜweak_ptr
ですか?
これは単なる見落としですか、それともアトミック操作を提供しない実際の理由はありweak_ptr
ますか?
これは見落としのようです。Atomic_shared_ptr/atomic_unique_ptr/atomic_weak_ptr の Herb Sutter による C++(17?) 標準設計提案があり、このドキュメントでは、shared_ptr のフリー関数 atom_load/atomic_store を使用した既存のアプローチの欠点についても説明しています: http://www.open-std. org/jtc1/sc22/wg21/docs/papers/2014/n4162.pdf
おそらく答えは、 を使用するために、まずそれをusingweak_ptr
に変換するためです。それができたら、アトミック操作を使用できます。shared_ptr
lock()
shared_ptr