VC的设计模式问题

来源:百度知道 编辑:UC知道 时间:2024/05/24 16:07:19
Singleton设计模式,为什么声明static Singleton* _instance而不用static Singleton instance;不是更方便吗?在线等~~~

class Singleton
{
protected:
Singleton(){}

private:
static Singleton* _instance;

public:
static Singleton* Instance()
{
if ( _instance == 0 )
_instance = new Singleton();
return _instance;
}
};

Singleton* Singleton::_instance = 0;

void main()
{
Singleton* p=Singleton::Instance();
}
感觉没什么不同啊

这个是因为假如没有人调用Instance()的话,就可以不用建立这个唯一的Singleton对象了,效率比较高

程序复杂了就比较明显了,或者Singleton对象占用很大内存等~~