스마트 포인터 또다른 쓰임이다. std::shared_ptr처럼 작동하되 대상을 잃을 수도 있는 포인터가 필요하면 std::weak_ptr를 사용하라. => 즉, 객체를 접근할 수 있냐 확인하는 용이라고 생각된다. 다시 말해서 자신이 가리키는 대상이 이미 파괴되었다는 문제를 해결할 수 있어야 한다. 다시 말해서 자신이 가리키게 되어 있는 객체가 사실 존재하지 않는 상황을 검출할 수 있어야 한다. => shared_ptr을 쓰지 말라고 하는 것이 아니라 weak_ptr은 shared_ptr을 보강한다. 대체로 std::weak_ptr는 std::shared_ptr를 이용해서 생성한다. std::weak_ptr는 자신을 생성하는 데 쓰인 std::shared_ptr가 가리키는 것과 동일한 객체를 가리키나, ..