CPP2 C++) ComPtr 오늘의 C++은 사실 100%이해는 하지 못했다.ComPtr을 경험하기 전까지, 스마트 포인터라는 것을 몰랐고,C++은 불편한 언어니까 뭐든 해제해주고, 하나부터 열까지 다 지정해줘야 하는줄 알았다.헷갈릴 때마다 다시 한 번 들여다 보기위해, 정리해본다.1. ComPtr이란?ComPtr은 COM 객체(내가 목표로하는 Direct3D 관련 인터페이스)를 다룰 때, 참조 카운트 관리(Reference Counting)를 자동화해주는 스마트 포인터이다.일반적인 IUnknown 인터페이스 기반의 COM 포인터를 직접 사용하면 AddRef, Release를 직접 호출해줘야 하지만, ComPtr을 사용하면 AddRef, Release 호출이 자동으로 처리되어 메모리 누수 위험을 줄일 수 있다.ComPtr은 템플릿 .. 2025. 1. 24. C++) 싱글톤(Singleton) 패턴 싱글톤(Singleton) 패턴은 “프로그램 전체에서 하나의 인스턴스만 존재해야 하는 클래스”를 구현할 때 사용하는 대표적인 디자인 패턴이다.로그 관리자, 설정 관리자, 자원 풀(Resource Pool) 등 “전역적으로 통일된 접근점이 필요한 기능”에 자주 쓰인다. 1. 싱글톤 구현 예시1)정적 지역 변수 방식(Meyers Singleton)C++11 이후 표준에서는 “정적 지역 변수를 초기화할 때” 쓰레드 안전성을 보장한다.따라서 가장 간단하면서도 안전한 방법은 함수 스코프의 static 객체를 사용하는 것.#include class Singleton{public: // 인스턴스에 접근하는 정적 함수 static Singleton& getInstance() { // 첫 호.. 2025. 1. 23. 이전 1 다음