Chinaunix首页 | 论坛 | 博客
  • 博客访问: 54425
  • 博文数量: 15
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 107
  • 用 户 组: 普通用户
  • 注册时间: 2013-07-24 18:59
文章分类
文章存档

2015年(5)

2014年(1)

2013年(9)

我的朋友

分类: C/C++

2013-07-26 16:20:02

地址:
http://www.cppblog.com/dyj057/archive/2005/09/20/346.html

目前比较喜欢的是 :

#include 

#include 

using namespace std;

class Singleton

{

public:

       static Singleton * Instance()

       {

              if( 0== _instance.get())

              {

                     _instance.reset( new Singleton);

              }

              return _instance.get();

       }

protected:

       Singleton(void)

       {

              cout <<"Create Singleton"<<endl;

       }

       virtual ~Singleton(void)

       {

              cout << "Destroy Singleton"<<endl;

       }

       friend class auto_ptr<Singleton>;

       static auto_ptr<Singleton> _instance;

};

//Singleton.cpp

auto_ptr<Singleton> Singleton::_instance;



另外一个高科技是:
template  
class Singleton 

public: 
static inline T& instance() 

static T _instance; 
return _instance; 



private: 
Singleton(void); 
~Singleton(void); 
Singleton(const Singleton&); 
Singleton& operator= (const Singleton &); 
}; 




阅读(1108) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~