/*
单例模式
*/
class Single
{
private:
Single()
{}
static Single* pInstance;
public:
static Single* getInstance()
{
if (pInstance == NULL)
pInstance = new Single();
return pInstance;
}
};
Single* Single::pInstance = NULL;
/*
线程安全的几种方式
饿汉模式 无论是否使用在程序开始产生一个实例,并在以后返回
静态实例初始化 在进入主函数之前就已经完成初始化。
*/
class Singleton
{
private:
static const Singleton* m_instance;
Singleton() {}
public:
static const Singleton* getInstance()
{
return m_instance;
}
};
const Singleton* Singleton::m_instance = new Singleton;
//void test()
//{
// const Singleton* s1 = Singleton::getInstance();
// const Singleton* s2 = Singleton::getInstance();
//
// if (s1 == s2)
// cout << "success" << endl;
//}
单例模式
最新推荐文章于 2024-07-25 13:59:31 发布