저번 글에서 RAII에 대해 간단히 정리하면서,자원의 수명을 객체의 수명에 맞춰 관리하는 방식이 중요하다는 것을 알게 되었다.스마트 포인터는 이러한 RAII 기법을 적용한 대표적인 예시이다.일반 포인터처럼 객체를 가리키고 사용할 수 있지만,객체의 소유권을 명확하게 표현하고, 해제 시점을 더 안전하게 관리할 수 있다는 점이 다르다.이번 글에서는 C++에서 자주 사용하는 스마트 포인터인unique_ptr, shared_ptr, weak_ptr에 대해 정리해보려고 한다.스마트 포인터란?스마트 포인터는 동적 할당한 객체를 자동으로 관리해주는 클래스 템플릿이다.일반 포인터를 사용하면 직접 delete를 호출해야 하지만,스마트 포인터는 자신의 수명이 끝날 때 관리하던 자원을 자동으로 해제한다.즉, 스마트 포인터는 ..