관리 메뉴

KorSA

C++ 스마트 포인터 간단 정리 본문

Development Experience/C, C++

C++ 스마트 포인터 간단 정리

Praiv. 2020. 12. 9. 19:17
320x100

1. unique_ptr, shared_ptr, week_ptr 은 raw pointer를 담는 그릇이라고 생각하면 쉽다.

2. unique_ptr

  => raw pointer에 대한 소유권을 단 하나의 스마트 포인터 객체만 가질 수 있다.
       만일 다른 unique_ptr에게 raw pointer에 대한 소유권을 넘기려면 move 함수를 사용해야 한다.

3. shared_ptr

  => raw pointer에 대한 소유권을 여러 개의 스마트 포인터 객체가 가질 수 있다.
       raw pointer를 소유하고 있는 shared_ptr의 개수가 늘어날수록 raw pointer에 대한 참조 카운트가 증가한다.

4. week_ptr

  => raw pointer에 대한 소유권을 여러 개의 스마트 포인터 객체가 가질 수 있는 점은 
       shared_ptr과 동일하지만 차이점은 week_ptr의 경우 raw pointer에 대한 소유권을 획득해도 
       raw pointer에 대한 참조 카운트는 증가하지 않는다는 점이다.

728x90
728x90
Comments