#include <iostream>
using namespace std;
#include <memory>
class Singleton{
public:
static Singleton* GetInstance()
{
if(0==instance_.get())
{
//instance_=new auto_ptr<Singleton>(new Singleton);
instance_.reset(new Singleton());
}
return instance_.get();
}
~Singleton()
{
cout<<"~Singleton~"<<endl;
}
private:
//禁止拷贝
Singleton(const Singleton& oher);
Singleton& operator=(const Singleton& other);
static auto_ptr<Singleton> instance_;
Singleton()
{
cout<<"Singleton"<<endl;
}
};
auto_ptr<Singleton> Singleton::instance_;
int main(void)
{
Singleton* s1=Singleton::GetInstance();
return 0;
}
c++ 单利
最新推荐文章于 2024-05-17 13:43:49 发布