在C++這樣一款功能強大的計算機編程語言中,有很多比較復雜的功能,需要我們在不斷的實踐中去積累經驗,理清這些功能的應用特點。在這裡我們就先來了解一下C++單件模式的相關實現方式。
C++單件模式代碼示例:
- class Singleton
- {
- public:
- static Singleton * Instance()
- {
- if( 0== _instance)
- {
- _instance = new Singleton;
- }
- return _instance;
- }
- protected:
- Singleton(){}
- virtual ~Singleton(void){}
- static Singleton* _instance;
- };
2) 利用智能指針進行垃圾回收
- class Singleton
- {
- public:
- ~Singleton(){}
- static Singleton* Instance()
- {
- if(!pInstance.get())
- {
- pInstance = std::auto_ptr<Singleton>(new Singleton());
- }
- return pInstance.get();
- }
- protected:
- Singleton(){}
- private:
- static std::auto_ptr<Singleton> pInstance;
- };
以上就是對C++單件模式的相關操作步驟。