소유권 지도

스마트 포인터 소유권 선택

포인터 종류는 문법 취향이 아니라 객체를 누가 언제 파괴하는지에 대한 설계입니다.

01

unique_ptr

소유자가 하나뿐인 자원에 가장 가볍고 명확한 기본 선택입니다.

exclusive
02

shared_ptr

여러 객체가 같은 자원을 소유해야 할 때 참조 횟수로 생명 주기를 나눕니다.

shared
03

weak_ptr

shared_ptr 사이의 순환을 끊고, lock으로 살아 있는지 확인합니다.

non owning
04

raw pointer

소유하지 않는 관찰용으로만 쓰고 get() 결과를 delete하지 않습니다.

borrowed view

소유권 기본값: 기본은 unique_ptr입니다. 공유가 실제 요구사항일 때만 shared_ptr를 쓰고, 순환 참조가 생기면 한 방향을 weak_ptr로 낮춥니다.