c++의 자원 관리는 다른 언어와 달리 가비지_컬렉터 를 지원하지 않기 때문에 우리가 직접 자원을 해제해야 한다. 그런데, 만약 예외처리를 진행하게 되면, 예외 이후로 가까운 catch문을 향해 스택 풀기가 진행되기 때문에 만약 throw 아래에 delete문이 있었다면 메모리 반환이 발생하지 않는다. 그래서 RAII 라는 “자원 관리는 객체가” 개념과 함께 스마트 포인터들이 동작한다. Unique Pointer Shared Pointer