Smart Pointer1 C++ 스마트 포인터(smart pointer) smart pointer는 포인터처럼 행동하는 클래스 객체입니다. 스마트 포인터는 동적 메모리를 관리하기 위해 있는데 포인터 변수이 스택에서 해제된다면 지시하는 메모리 블럭도 같이 할당 해제가 됩니다. 스마트 포인터는 왜 필요한가? void test() { std::string * str = new std::string("Hello!!"); //작업후에 if (str->length() == 0) { throw std::exception(); } delete str; return; } 해당 함수는 예외가 발생하면 delete 구문은 실행할 수 없습니다. (예외가 발생할 수 없는 함수지만, 발생한다고 가정해봅시다.) 그래서 포인터 변수 str가 가리키는 메모리 블록은 할당 해제하지 않습니다. 결국엔 memo.. 프로그래밍/C++ 2019.11.06 Plorence