2014년 2월 9일 일요일

스마트 포인터란?

포인터 타입의 클래스를 생성하여 포인터의 생성 및 삭제를 함수단에서 처리해 줌으로써 (함수에서는 지역변수 사용) 함수가 끝나면 자동으로 메모리 해제를 해주게 됨(일반적으로 new를 사용해서 쓰면 Heap에 저장하게 되므로 개발자가 직접 메모리 해제를 해주어야 하지만 지역변수는 Stack에 쌓이기 때문에 자동으로 해제가 됨)
단점: 두개이상의 스마트 포인터가 하나의 대상을 가리키는 것이 허용되지 않음(삭제가 두번 일어남)->STL 컨테이너의 내부타입으로 사용하기 곤란함

참조 카운팅 스마트 포인터



스마트 포인터와 비슷하지만 동일 대상을 가리키더라도 카운팅 개수를 유지하여 0이 되면 삭제하는 방식

댓글 없음:

댓글 쓰기