블로그 이미지
fiadot_old

칼퇴근을 위한 게임 서버 개발 방법론에 대한 심도있는 고찰 및 성찰을 위한 블로그!

Rss feed Tistory
Technical Article/펌 2004. 7. 26. 12:08

템플릿+싱글턴

template < class T >
class CSessionManager
{
public:
static CSessionManager* GetInstance();

static void ReleaseInstance();

void CreateNewSession(int nSock);
void RemoveSession(T* pSession);


private:
static CSessionManager* m_pSelfInstance;

};


template < class T >
CSessionManager* CSessionManager :: m_pSelfInstance = 0;

template < class T > CSessionManager* CSessionManager::m_pSelfInstance = 0;


template < class T >
CSessionManager* CSessionManager::GetInstance()
{
if ( NULL == m_pSelfInstance )
{
m_pSelfInstance = new CSessionManager();
}

return m_pSelfInstance;
}

template < class T >
void CSessionManager::ReleaseInstance()
{
delete m_pSelfInstance;
m_pSelfInstance = NULL;
}


template < class T >
void CSessionManager :: CreateNewSession(int nSock)
{
T* pSession = new T(nSock);
}


template < class T >
void CSessionManager :: RemoveSession(T* pSession)
{
return;
}
,
TOTAL TODAY