smart pointer 스마트 포인터는 헤더 파일의 std namespace에 정의된다. smart pointer는 포인터처럼 행동하는 클래스 객체이지만, 몇 가지 추가 기능을 지닌다. 이번 게시물에서는 예시를 통해 동적 메모리 대입을 관리하기 위한 스마트 포인터 템플릿에 대하여 알아볼 것이다. 가령 어떠한 함수가 원시 포인터를 사용한다고 가정하면, 마지막에 delete 구문을 빼먹었거나, 혹은 delete 구문 전에 오류가 나면 대입된 메모리가 해제되지 못한다. 지역 변수는 스택 메모리부터 삭제된다. 그래서 포인터가 차지하고 있던 메모리가 해제되고 이때, 포인터가 지시하는 메모리도 함께 해제된다면 좋을 것이다. 이러한 과정을 거치기 위해서는 포인터의 수명이 다했을 때 프로그램이 어떤 추가 조치를 취해..