메모리를 직접 관리하는 c++에서 dagling pointer가 발생하지 않도록 스마트 포인터를 제공한다.unique_ptr - 객체에 대한 단일 소유권을 관리 (두개의 포인터가 하나의 공간을 소유할 수 없음, move를 통해 소유권 이전은 가능)shared_ptr - 레퍼런스 카운트를 관리 (현재 객체를 참조하는 포인터의 개수를 카운팅하는 것)weak_ptr - 객체의 소유권을 공유하지 않음 (shared_ptr은 서로를 가리켜 메모리 누수를 유발할 수 있기에 둘중에 하나를 weak_ptr로 대체하면 순환 고리가 끊어지게 됨)사용법#include #include //스마트 포인터 사용using namespace std;int main() { // unique_ptr 생성 unique_ptr..