摘要:本文简要介绍了c++中使用静态变量实现单件模式的方法
关键字:单件模式,单例模式,singleton,静态变量
如果在程序的整个生命周期中,需要且只需要维护类的一个实例,应用单件模式(也叫单例模式)
比较合适!在C++中,有一种实现单件模式的比较优雅的方式,那就是在函数中使用静态变量。其基本思
想为将类的构造函数设为私有,然后定义一个静态的方法获取类的实例,这个静态方法中使用静态变量
定义类,所以不管调用这个方法多少次,类只实例化一次!
依据以上思想的c++单件模式实现如下:
/*
* C++单件模式的实现
*/
#include
using namespace std;
class Singleton
{
public:
static Singleton& getInstance()
{
static Singleton dp;
return dp;
}
void message()
{
cout << "Singleton Message" << endl;
}
private:
Singleton()
{
cout << "construct Singleton!" << endl;
}
};
int main(int argc, char* *argv)
{
Singleton::getInstance().message();
Singleton::getInstance().message();
Singleton::getInstance().message();
system("pause");
return 0;
}