C++에서 동적 객체를 다루다 보면 포인터를 피할 수 없습니다.하지만 raw pointer를 직접 소유권 관리에 사용하면 delete 누락, 이중 해제, 예외 발생 시 자원 누수 같은 문제가 쉽게 생깁니다.이때 가장 먼저 익혀야 할 도구가 std::unique_ptr입니다. std::unique_ptr은 하나의 객체가 하나의 자원을 단독으로 소유한다는 의도를 코드로 표현하는 스마트 포인터입니다. 이번 글에서는 std::unique_ptr이 왜 필요한지, std::move와 어떤 관계가 있는지, 함수 인자로 넘길 때 어떤 기준을 잡으면 좋은지 코드 예제로 정리해보겠습니다. 1. unique_ptr은 무엇인가?std::unique_ptr은 C++ 표준 라이브러리가 제공하는 스마트 포인터입니다.핵심은 이름 그..