//.......这种方式是学习SuperRacing的做法,部分更改了
//单件模式的实现
#define DECLEAR_SINGLETON(T)/
public:/
static T##* GetSingletonPtr();/
static void DestructSington(void);/
private:/
static T * m##T;/
//单件模式实现
#define IMPLEMENT_SINGLETON(T)/
T##* T::m##T;/
T * T ::GetSingletonPtr(void)/
{/
if (!m##T)/
{/
m##T = new T##();/
}/
return m##T;/
}/
void T##::DestructSingleton(void)/
{/
if (m##T)/
{/
delete m##T;/
m##T = 0;/
}/
}/