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에 대한 참조 카운트는 증가하지 않는다는 점이다.
반응형
'Development Experience > C, C++' 카테고리의 다른 글
c++ std::function 과 std::bind, C2893 Error (0) | 2020.12.15 |
---|---|
C++ 다른 프로젝트에 있는 파일 참조하기 (0) | 2020.12.15 |
C++ ofstream, localtime_s 함수, PSCP (0) | 2020.12.08 |
C++ CopyConstructible (0) | 2020.12.08 |
HeapAlloc, LocalAlloc, GlobalAlloc 차이 (0) | 2020.11.25 |