작성
·
342
·
수정됨
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를 직접적으로 늘릴 수는 없습니다.