2013-09-02 C++11メモ @ 無くても困らないリソースはstd::weak_ptr C++11 std::weak_ptrとは 弱い参照のためのスマートポインタ 弱い参照とはリソースの寿命に影響しない参照のことです。 強い参照だけでは循環参照に対応出来なかったり効率が悪いこともあるので使い分けます。 std::shared_ptrとセットで使用する 強い参照はstd::shared_ptrが、弱い参照はstd::weak_ptrが対応します。 std::shared_ptrはリソースが必ず無ければ困る場合に使用し、 std::weak_ptrはリソースが無くても困らない場合に使用します。 参照先のリソースが解放済みか確認できる std::weak_ptrは参照先のリソースの寿命に影響しない代わりに解放済みかどうかを確認できますので処理を変更するなどの対処が可能です。 生