您的位置:首页 > 编程语言 > C语言/C++

C++单例

2016-04-20 12:11 423 查看
#include <iostream>
#include <string>
#include <unordered_map>
#include <vector>
using namespace std;

//单例类只能有一个实例
//单例类必须自己创建自己的唯一实例
//单例类必须给所有其他对象提供这一个实例

//C++单例
class Singleton{
private:
static Singleton *instance;
Singleton(){}

public:
static Singleton *Instance(){
if (instance == NULL){
instance = new Singleton();
}
return instance;
}
};

//静态成员变量需要在类外面初始化
Singleton *Singleton::instance = NULL;

int main(){
Singleton *s1 = Singleton::Instance();
Singleton *s2 = Singleton::Instance();
if (s1 == s2){
cout << "The same instance." << endl;
}

int ttt = 0;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: