10. make_shared<A>の方が長くなる
weak_ptrを持っているとメモリリークに見えるかも
メモリの寿命
A ctrl
p = shared_ptr<A>(new A());
q = std::move(p);
w = q;
q.reset();
// Aのdstrが呼ばれてからfreeされる
A ctrl
w.reset();
ctrl
p = make_shared<A>();
A ctrl
q = std::move(p);
w = q;
q.reset(); // ここでAの領域は解放されない
// Aのdstrは呼ばれるがfreeはされない
w.reset();
A ctrl
A ctrl
10/12