WinAPI

포인터형 싱글톤

Nin 2021. 1. 26. 02:34
class Test
{
private:
   static Test* pInst;
public:
   static Test* Inst()
   {
      if(nullptr == pInst)
      {
         pInst = new Test();
      }
      
      return pInst;
   }
private:
   Test()
   {
   }
public:
   ~Test()
   {
   }
};

Test* Test::pInst = nullptr;

이렇게 사용하는 방식으로 싱글톤은 하나의 객체만 생성하기 위한 문법으로 

pInst가 nullptr일때 하나를 생성하고 리턴해주며 그 이후로는 처음에 만들어진

객체를 계속 리턴하는 방식이다.

new를 이용해서 생성했기 때문에 당연히 delete도 해줘야 하며 

이를 함수로 만들어서 객체가 필요없어질 경우 호출해주면 된다.

클래스가 프로그램 실행중 계속 필요하며 이 클래스가 필요없어지는 시점이

프로그램 종료시점과 같다면 굳이 포인터형으로 해야하는 생각이 든다.

굳이 종료시점에 삭제하는 함수를 호출해야 하기에..

'WinAPI' 카테고리의 다른 글

union 문법  (0) 2021.01.29
Delta Time (델타 타임) , QueryPerformanceFrequency 함수  (0) 2021.01.29
파일 경로 관리(문자열 파싱)  (0) 2021.01.23
TransparentBlt 함수 , #pragma comment  (0) 2021.01.22
enum , enum class  (0) 2021.01.22