class Singleton
{
public:
void myInfo();
static Singleton * getInstance();
private:
Singleton();
~Singleton();
static Singleton * m_sglton ;//(此处也可直接写为静态变量)
};
Singleton* Singleton:: m_sglton = NULL;//初始化在主线程之前
Singleton *Singleton::getInstance()
{
if(m_sglton == NULL)
{
m_sglton = new Singleton;
}
return sglton;
(返回对象)}
class Singleton
{
public:
void myInfo();
static Singleton * getInstance();
private
Singleton();
~Singleton();
:
};
Singleton *Singleton::getInstance()
{
static Singleton siglton;
return &siglton;
}
class Singleton
{
public:
void myInfo();
static Singleton &getInstance();
private:
Singleton();
~Singleton();
Singleton(const Singleton &);
Singleton &operator =(const Singleton &);
};
Singleton &Singleton::getInstance()
{
static Singleton siglton;
return siglton;
}
class Singleton
{
public:
void myInfo();
static Singleton &getInstance();
private:
Singleton();
~Singleton();
Singleton(const Singleton &);
Singleton &operator =(const Singleton &);
};
Singleton &Singleton::getInstance()
{
Lock();
static Singleton siglton;
UnLock();
return siglton;
}
原文:http://www.cnblogs.com/chengkeke/p/5417371.html