C++ 추상 클래스와 템플릿을 활용한 객체지향 프로그래밍

추상 기반 클래스 구현 출판물 계층 구조 설계: // 추상 베이스 클래스 class Media { public: Media(const std::string &title = "") : title(title) {} virtual ~Media() = default; virtual void release() const = 0; virtual void consume() const = 0; protected: std::string title; }; // 도서 클래스 class Novel : public Media { public: ...

6월 26일 17:37에 게시됨

weak_ptr와 lock으로 순환 참조 해결하기

순환 참조의 본질shared_ptr는 C++에서 메모리 관리를 자동화하는 강력한 도구이지만, 서로를 가리키는 구조에서는 치명적인 약점을 드러낸다. 두 객체가 서로를 shared_ptr로 참조하면 참조 카운트가 영원히 0에 도달하지 못해 메모리 누수가 발생한다. 이를 해결하려면 weak_ptr을 활용해 소유권과 참조를 분리해야 한다.weak_ptr의 설계 의도weak_ptr은 객체의 생 여부 ...

6월 11일 22:00에 게시됨