반응형

unique_ptr 2

std::unique_ptr 제대로 이해하기

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

C++/Concepts 2026.06.18

C++ std::move는 진짜 객체를 이동시킬까?

C++을 공부하다 보면 std::move라는 표현을 자주 만나게 됩니다.이름만 보면 객체를 어딘가로 “이동”시키는 함수처럼 보입니다.하지만 실제로 std::move는 객체를 직접 이동시키지 않습니다.조금 이상하게 들릴 수 있지만, 이 개념을 정확히 이해해야 C++의 move semantics, smart pointer, 성능 최적화, 객체 생명주기를 제대로 다룰 수 있습니다.이번 글에서는 std::move가 실제로 무엇을 하는지, 그리고 실무에서 어떤 점을 조심해야 하는지 정리해보겠습니다. 1. lvalue와 rvalue 간단 정리std::move를 이해하려면 lvalue와 rvalue를 알아야 합니다.간단히 말하면 다음과 같습니다.구분의미예시lvalue이름이 있고 다시 접근할 수 있는 값변수rvalue..

C++/Concepts 2026.06.12
반응형