스마트 포인터

스마트 포인터 소유권

원시 포인터는 해제 시점을 사람이 기억해야 하지만, 스마트 포인터는 RAII를 이용해 스코프와 참조 관계에 따라 자원을 정리합니다.

RAII 원칙

자원 획득과 객체 수명을 묶어 스코프 종료 시 자동 정리가 일어나게 만듭니다.

범위
make_unique

단독 소유 객체를 만들 때 기본 선택입니다. 예외 안전성과 가독성을 함께 얻습니다.

exclusive
make_shared

공유 수명이 분명할 때 사용합니다. 제어 블록과 참조 카운트 비용을 고려합니다.

shared
raw pointer

관찰이나 C API 경계에서는 쓸 수 있지만, delete 책임을 섞지 않는 것이 핵심입니다.

borrowed