单例模式:一个类只生成一个实例对象。要从生成唯一一个实例,构造函数就要设为私有,一般有两种模式:一位饿汉式,只有在空的时候分配内存
class Singleton
{
private:
Singleton()
{}
static Singleton* instance;
public:
static Singlenton* getInstance()
{
if(install == NULL)
{
instance = new Singlenton;
}
return instance;
}
};
下面为饱汉式:
class Singlenton
{
private:
Singlenton()
{}
static Singlenton* instance;
public:
static Singlenton* getInstance
{
return instance;
}
};
Singlenton* Singlenton::instance = new Singlenton;
在多个线程之间,用饿汉式,懒汉式不同线程之间不能同步,在大规模的系统中,为了性能考虑,需要节省对象创建的时间时,可以采用单例模式。