std::atomic<T>
クラスはC++11(とC++14)現在、memcpy
可能な型しか入れられないのですが、以下の特殊化を追加し、スマートポインタを入れられるようにしようという提案。
atomic<shared_ptr<T>>
atomic<weak_ptr<T>>
atomic<unique_ptr<T>>
これができないと、アトミック型にユーザー定義型を入れようとしたときに、atomic<T*>
にして生ポインタのnew
とdelete
を自分で書かないといけないので、事故が起きやすいという問題がありました。