Destructor
소유한 리소스를 언제 해제할지 정한다.
리소스를 직접 소유하는 클래스는 복사, 대입, 이동, 소멸 시점의 책임을 함께 설계해야 한다.
소유한 리소스를 언제 해제할지 정한다.
복사 시 새 리소스를 만들지 공유할지 결정한다.
기존 리소스 정리와 자기 대입 처리를 고려한다.
임시 객체의 리소스를 안전하게 넘겨받는다.
기존 리소스를 정리하고 소유권을 이동한다.
smart pointer와 표준 컨테이너에 소유권을 맡긴다.
직접 new/delete를 관리하면 수명 주기 함수들이 함께 필요해진다. 가능하면 Rule of Zero로 소유권을 위임한다.