摘要:本文簡要介紹了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;
}