Why 为什么需要单例模式?
高效的资源管理
What 单例模式实现了什么功能?
- 程序的生命期内只有一份实例
- 拷贝禁止
- 提供全局访问
How 如何设计单例模式?
单例模式的一个实现及测试
#include <iostream>
class Singleton{
private:
Singleton(){}
static Singleton *m_pInstance;
public:
static Singleton *
GetInstance(){
if(m_pInstance == NULL){
m_pInstance = new Singleton();
}
return m_pInstance;
}
};
using std::cout;
using std::endl;
Singleton *Singleton::m_pInstance = NULL;
int
main(){
Singleton *p1 = Singleton::GetInstance();
Singleton *p2 = Singleton::GetInstance();
if(p1 == p2){
cout << "p1与p2是同一个实例 << endl;
}
else{
cout << "p1与p2不是同一个实例" << endl;
}
return 0;
}
How 单例模式如何运用到项目中?
muduo库可用于多线程环境下的日志库