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에 게시됨