• 동적 할당된 인스턴스를 자동으로 삭제해주는 편리한 포인터

auto_ptr

  • 동적 할당된 인스턴스를 자동으로 삭제
  • 편리하지만 모든 메모리 관리 문제를 해결하지 못할 수 있음
int main() {
    {
        // 속한 범위를 벗어나면 자동 소멸
        auto_ptr<CMyData> ptrTest(new CMyData);
    }
    return 0;
}

shared_ptr

  • 포인팅 횟수를 계수해서 0이 되면 삭제
  • 필요에 따라 삭제하는 로직을 추가
int main() {
    shared_ptr<CMyData> ptr1(new CMyData);
    {
        shared_ptr<CMyData> ptr2(ptr1);
    }
    return 0;
}

unique_ptr

  • 한 대상을 오로지 한 포인터로만 포인팅
  • 얕은 복사를 문법으로 차단

weak_ptr

'💻 Computer Science > C & C++' 카테고리의 다른 글

[C++] 클래스  (0) 2024.06.25
[C++] 템플릿  (1) 2024.06.04
[C++] 관계  (0) 2024.06.04
[C++] 상속  (0) 2024.06.02
[C++] 연산자 다중 정의  (0) 2024.04.15