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도 해줘야 하며
이를 함수로 만들어서 객체가 필요없어질 경우 호출해주면 된다.
클래스가 프로그램 실행중 계속 필요하며 이 클래스가 필요없어지는 시점이
프로그램 종료시점과 같다면 굳이 포인터형으로 해야하는 생각이 든다.
굳이 종료시점에 삭제하는 함수를 호출해야 하기에..