[C++] 스마트 포인터 shared_ptr, make_shared 총정리


[C++] 스마트 포인터 shared_ptr, make_shared 총정리

이번에는 스마트 포인터에 대해 설명을 드리겠습니다. Java의 경우 GC(Garbage collector)를 통해 손쉽게 메모리를 관리하는데 c++에서는 new로 할당된 메모리에 대한 관리를 delete로 해제를 시켜줘야 합니다. Java의 GC 처럼 메모리 관리를 자동으로 해줘서 추후에 발생할 메모리 누수(memory leak) 등에 안전성이 보장되는 스마트 포인터를 사용하시길 권장합니다. 스마트 포인터란? 스마트 포인터란 포인터처럼 동작하는 클래스 템플릿으로 사용이 끝난 메모리를 자동으로 해제하는 클래스 입니다. C++ 11부터 C++ 표준으로 채택된 방법 ( C++11 이전에는 auto_ptr 이라는 스마트 포인터 사용했음) 메모리 누수(memory leak)에 대해 안전성 보장(메모리 자동 해제) 힙 메모리(동적 할당)에 생성됨 #include <memory> 가 필요함 이와 같은 디자인 패턴은 RAII(Resource Acquisition Is Initialization)라...


#auto_ptr #unique_ptr #weak_ptr #누수 #디자인패턴 #리소스 #메모리 #생성자 #소멸자 #스마트 #자원 #참조 #카운트 #smart #shared_ptr #collector #count #delete #garbage #include #leak #make_shared #memory #new #pointer #raii #resource #포인터

원문링크 : [C++] 스마트 포인터 shared_ptr, make_shared 총정리