懒汉式:在类加载时不初始化、按照需求创建实例
实现代码:
class Single
{
private:
Single()
{
cout << "单例类" << endl;
}
private:
static Single*instrance;
public:
static Single* Generate()
{
if (instance == NULL)
{
instrance = new Single();
cout << "对象创建成功" << endl;
}
else
{
cout << "对象已经创建成功,无须再建" << endl;
}
return instance;
}
public:
static Single* Destroy()
{
delete instance;
instance = NULL;
}
};
Single* Single::instance = NULL;
//以下实例化全部用Generate实现
饿汉式:在类加载时就完成了初始化,获取对象的速度快
实现代码:
class Single
{
private:
Single()
{
cout << "单例类" << endl;
}
private:
static Single* instance;
public:
static Single* Generate()
{
return instance;
}
public:
static Single* Destroy()
{
delete instance;
instance = NULL;
}
};
Single* Single::instance = new Single();//饿汉式
//以下实例化全部用Generate实现