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>)
웅 ? 클래스 정적 맴버 변수는 cpp 에서 초기화 할때, 데이터 형도 같이 써줘야지
그러니까 T* 가 데이터 형인거지
템플릿과 상관없엉 사실
템플릿으로 싱글톤을 만들때는 종종, 싱글톤으로 만들 클래스가 private 영역에 생성자가 있는 경우가 있는데, 이럴때는 friend 를 사용하던지, 아니면 상속과 같은 형태로 구현해야 될꺼얌
오 그렇구나
ssonacy//던지->든지
그켬