인프런 커뮤니티 질문&답변

k ch님의 프로필 이미지
k ch

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

스마트 포인터

shared_ptr질문

작성

·

342

·

수정됨

0

shared_ptr에도 레퍼런스 카운트 블록안에 weak값이 존재하고

 

shared_ptr타고 들어가서 보니 shared_ptr도 weak가 0이될때 그제서야카운트 블록을 날려주는거 같은데.

 

만약 shared_ptr에 weak가 0이 되지 않는상황이 오면 계속 남아있을거 같은데

 

shared_ptr에서는 weak가 절대0이상이 될수가 없는건가요??

weakCount는 weak_ptr로만 늘려줄수 있어서 상관이 없는걸까요??

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

질문이 잘 이해가 안 가는데요.

shared_ptr의 RefCount 블록은
weak_ptr로 참조가 1개라도 있으면 소멸되지 않습니다.
weak 참조가 0 이상인 경우는 물론 가능합니다 (weak_ptr로 기억하고 있을 경우)
shared로 weak를 직접적으로 늘릴 수는 없습니다.

k ch님의 프로필 이미지
k ch

작성한 질문수

질문하기