스마트 포인터는 에 정의되어 있고, RAII 또는 리소스 획득 초기화 프로그래밍 관용구에 매우 중요하다. 스마터 포인터의 목표는 개체의 모든 자원 생성이 한 줄의 코드에서 만들어지고 준비되어 그 개체가 초기화되는 동시에 자원 수집이 발생하는 것을 확인하는 것이다. 이전 포인터 선원과 비교하면 아래와 같다. void UseRawPointer() { Song* pSong = new Song(L"Nothing on You", L"Bruno Mars"); // Use pSong delete pSong; } void UseSmartPointer() { unique_ptr song2(new Song(L"Nothing on You", L"Bruno Mars")); // Use song2 // delete automa..