[c++] 스마트 포인터 사용

C++에서 메모리 누수와 다른 메모리 관련 문제를 방지하기 위해 스마트 포인터를 사용하는 것이 좋습니다. 스마트 포인터는 포인터를 감싸고 있는데, 객체가 더 이상 필요 없을 때 해당 포인터가 자동으로 삭제됩니다.

종류

C++ 표준 라이브러리에는 다양한 종류의 스마트 포인터가 있습니다. 그 중에서 가장 널리 사용되는 것은 std::unique_ptrstd::shared_ptr입니다.

예제

#include <memory>

int main() {
    // unique_ptr 사용 예제
    std::unique_ptr<int> uniquePtr(new int(42));

    // shared_ptr 사용 예제
    std::shared_ptr<int> sharedPtr(new int(42));
    std::shared_ptr<int> sharedPtr2 = sharedPtr; // 참조 횟수 증가

    // 블록 끝부에 도달하면 uniquePtr와 sharedPtr는 자동으로 삭제됨
}

스마트 포인터는 메모리 관리를 간편하게 해줄 뿐만 아니라, 코드의 가독성과 유지 보수성을 향상시킵니다. 적절하게 사용한다면 프로그램의 안정성을 높일 수 있습니다.

참고 자료