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();
}
感觉没什么不同啊
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对象占用很大内存等~~