Circular
C++ 순환 참조 (Circular Dependency) & 데드락
순환 참조 문제는 비단 Reference Counting 뿐만이 아니라 다양한 영역에서 이를 피하는것이 매우 중요하다. 설계적 관점에서, 서로 참조를 하는 두 객체가 있다면 의존 관계가 양방향이 되고 의존성(Dependency)이 커지기 때문에 코드 관리에 어려움이 생긴다. 멀티 스레드( or 프로세스 ) 환경에서는 Resource를 점유한 상태로 새 Resource의 요청이 "순환"하는 경우 교착 상태(Dead Lock)에 빠지게 된다. class ObjectA { public: ObjectA() { std::cout