Singleton模式
来源:互联网 发布:淘宝商城儿童女装坎肩 编辑:程序博客网 时间:2024/06/01 13:43
//GOF
// Header file Singleton.h
class Singleton {
public:
static Singleton *Instance()
{
if( !m_pInstatnce)
m_pInstance = new Singleton;
return m_pInstance;
}
void DoSomething();
private:
static Singleton *m_pInstatnce=NULL;
private:
Singleton();
Singleton(const Singleton&);
Singleton& operator=(const Singleton&);
~Singleton();
}
//Meyers Singleton
// Header file Singleton.h
class Singleton
{
public:
static Singleton *Instance()
{
static Singleton sInstance;
return &sInstance;
}
private:
Singleton();
Singleton(const Singleton&);
Singleton& operator=(const Singleton&);
~Singleton();
}
// Implementation file Singleton.cpp
Singleton* Singleton::m_pInstance = 0;
//Doug Schmidt & Tim Harrison
//可多线程
// Header file Singleton.h
class Singleton {
public:
static Singleton &Instance()
{
if( !m_pInstatnce)
{
lock(m_mutex);
if( !m_pInstance )
m_pInstance = new Singleton;
UnLock(m_mutex);
}
return *m_pInstance;
}
private:
static volatitle Singleton *m_pInstatnce;
static Mutex m_mutex;private: Singleton();
Singleton(const Singleton&);
Singleton& operator=(const Singleton&);
~Singleton();
}
// Implementation file Singleton.cpp
Mutex Singleton::_mutex;Singleton *Singleton:m_pInstatnce = NULL;
- Singleton模式
- Singleton模式
- singleton模式
- Singleton模式
- Singleton模式
- Singleton模式
- Singleton模式
- Singleton 模式
- Singleton模式
- Singleton模式
- singleton模式
- Singleton模式
- Singleton 模式
- Singleton 模式
- Singleton 模式
- Singleton模式
- Singleton模式
- Singleton 模式
- 我在名牌大学毕业后的经历
- 如何向Platform builder 添加新的BSP
- PHP 显示页面以及数据库中出现乱码问题的解决方式
- How it works: Linux audio explained--如何工作:Linux音频工作介绍
- 最近辞职了,炒股炒的一沓糊涂,发帖留念!
- Singleton模式
- 页面EnableViewState=false遇到的麻烦与解决办法
- ftp脚本
- Http Client
- 大型公共建筑能耗监测系统软件平台框架探讨
- NHibernate Hql分页
- c# 连接远程oracle 数据库 字符串
- android kernel 初始化 2
- Map中STL