template <typename T>

class MySingleton

{

public:

MySingleton() {}

virtual ~MySingleton() {}

// 이 멤버를 통해서맊 생성이 가능하다.

static T* GetSingleton()

{

// 아직 생성이 되어 있지 않으면 생성한다.

if (NULL == _Singleton) {

_Singleton = new T;

}

return (_Singleton);

}

static void Release()

{

delete _Singleton;

_Singleton = NULL;

}

private:

static T* _Singleton;

};

template <typename T> T* MySingleton<T> ::_Singleton = NULL;


여기에 맨 밑에 T*은 왜드렁가는거? (T* MySingleton<T>)