8

C++ 標準にatomic_storeorのatomic_loadオーバーロードが含まれているのにshared_ptr、 が含まれていないのはなぜweak_ptrですか?

これは単なる見落としですか、それともアトミック操作を提供しない実際の理由はありweak_ptrますか?

4

2 に答える 2

3

これは見落としのようです。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

于 2014-12-09T17:40:50.800 に答える
1

おそらく答えは、 を使用するために、まずそれをusingweak_ptrに変換するためです。それができたら、アトミック操作を使用できます。shared_ptrlock()shared_ptr

于 2012-09-06T21:21:25.917 に答える