• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

shared_ptr질문

23.10.03 12:47 작성 23.10.03 13:15 수정 조회수 187

0

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

 

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

 

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

 

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

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

답변 1

답변을 작성해보세요.

0

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

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