소유자 판정
객체를 반드시 하나의 주체가 관리하면 unique_ptr부터 고려한다.
기본 선택스마트 포인터는 delete를 자동화하는 도구가 아니라 누가 소유하고 언제 해제되는지를 타입으로 표현한다. unique_ptr, shared_ptr, weak_ptr의 비용과 순환 참조 위험을 구분한다.
객체를 반드시 하나의 주체가 관리하면 unique_ptr부터 고려한다.
기본 선택여러 주체가 수명을 연장해야 할 때만 shared_ptr을 쓴다.
참조 카운트 비용부모-자식, 그래프 관계에서 한쪽은 weak_ptr로 관찰만 하게 만든다.
cycle leak 방지소유권 이동은 unique_ptr 값으로, 관찰은 raw pointer/reference로 구분한다.
API 의도