개념 C++은 C#처럼 Gabage Collecter(GC)가 없다. 따라서 메모리 할당을 따로 하고, 해제 해줘야한다. 예를 들어 new로 할당해준 경우에는, delete로 해제해줘야 한다. 해제해주지 않으면, memory leak(메모리 누수)이 발생하게 되고, 이는 프로그램 오류의 원인이 된다. 스마트 포인터를 사용하면, 사용이 끝난 메모리를 자동으로 해제해 주므로, 이런 오류를 방지할 수 있다. 헤더 파일 : memory 종류 1. unique_ptr 하나의 스마트 포인터만이 특정 객체를 소유할 수 있도록, 객체에 소유권 개념을 도입한 스마트 포인터 이동은 가능하지만, 복사는 불가능하다. 따라서 참조 전달은 가능하지만, 값 전달(복사 생성자)은 불가능. 2. shared_ptr 하나의 특정 객체를..