C++ 순환 의존성 문제 (Circular Dependency Issues)
·
C++/SmartPointer
순환 의존성 문제 (Circular Dependency Issues) 순환 의존성 shared_ptr가 클래스 내부에서 계속 존재하게 되면, 인스턴스가 소멸자를 호출하지 못한다. 만약 인스턴스 두 개가 멤버로 서로를 shared_ptr로 가지고 있다면, 마치 교착 상태처럼 소멸자를 둘 다 호출하지 못하는 상태가 된다. #include #include class Person { std::string name_; std::shared_ptr partner_; public: Person(const std::string& name) : name_(name) { std::cout