Skip to content

Latest commit

 

History

History
10 lines (6 loc) · 826 Bytes

weak_ptr.md

File metadata and controls

10 lines (6 loc) · 826 Bytes

weak_ptr

weak_ptrshared_ptr의 문제점을 해결하기 위해 참조 횟수에 영향을 받지 않는 스마트 포인터이다. weak_ptrshared_ptr로 연결된 자료구조의 포인터 참조 고리를 끊기 위한 것으로 일반 포인터와 shared_ptr사이에 위치한 스마토 포인터로 스마트 포인터처럼 객체를 안전하게 참조할 수 있도록 하나 shared_ptr과는 다르게 참조 개수를 늘리지 않는다.

weak_ptr자체로는 원래 객체를 참조할 수 없고 반드시 shared_ptr로 변환해서 사용하여야 한다. 이 때 가리키고 있는 객체가 이미 소멸되었다면 빈 shared_ptr로 변환되고 소멸도지 않았다면 해당 객체를 가리키는 shared_ptr로 변환된다.