[C, C++] More Effective C++ Item28 : Smart Pointer
스마트 포인터는 보통의 포인터처럼 생겼고 보통의 포인터처럼 동작하고 보통의 포인터처럼 느껴지지만 사실 엄청난 기능을 제공하도록 설계된 객체이다. 리소스 관리 등에 사용된다. 스마트 포인터를 쓰는 이유는 다음과 같다.생성과 소멸, 복사와 대입, 역참조 작업을 조절할 수 있기 때문이다. 스마트 포인터는 C++ 기본 제공 포인터처럼 타입이 명확해야 하기 때문에 템플릿 기반으로 만들어 진다.스마트 포인터를 생성하는 방법은 가리킬 객체를 스마트 포인터의 내부에 있는 더미 포인터로 가리키도록 하는 것이다. 1. 생성, 대입, 소멸스마트 포인터의 복사 생성자, 대입 연산자, 소멸자를 구현하는 방법은 소유권이라는 것 때문에 복잡하다. 스마트 포인터는 소멸될 때, 가리키던 객체를 삭제해야 한다. 하지만 이는 그 객체가 ..