문제: shared ↔ shared
A
B를 shared_ptr로 소유
B
A를 shared_ptr로 소유
결과
서로 count를 올려 소멸되지 않음
순환 참조에서는 참조 횟수가 0이 되지 않습니다. 한쪽을 weak_ptr로 바꾸면 소유권 카운트를 올리지 않아 소멸이 가능해집니다.
B를 shared_ptr로 소유
A를 shared_ptr로 소유
서로 count를 올려 소멸되지 않음
B를 shared_ptr로 소유
A를 weak_ptr로 관찰
count가 0이 되면 정상 소멸