shared_ptrを使いたくなったら設計を見直すべき