shared_ptr

shared_ptr

https://github.com/microsoft/STL/blob/main/stl/inc/memory

Untitled

생성자에서 해당 함수 호출

Untitled

Untitled

shared_ptr 은 _Ptr _base 상속 받아서 사용

_Ptr_base 클래스는 다음 멤버변수를 들고있다.

Untitled

Untitled

_Ref_count_base 값은 그냥 단순 변수 두개를 들고있다.

Untitled

counting이 intelock계열을 이용해 atomic 하게 작동하는 함수임을 알 수 있다.

Untitled

_Ref_count가 실제로 사용.

ptr을 추가로 가지고 있음.

전체 도식화

Untitled

같이 참고하면 좋은자료

https://github.com/megayuchi/ppt/blob/main/docs/2018_1128_shared_ptr%2C%20weak_ptr%EC%9E%91%EB%8F%99%EB%B0%A9%EC%8B%9D%20%EB%82%B4%EB%B6%80.pdf

Posted 2024-03-24