C++之智能指针和普通指针单例模式两种实现
生活随笔
收集整理的這篇文章主要介紹了
C++之智能指针和普通指针单例模式两种实现
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1 問題
實現(xiàn)c++的單例模式,這里測試分別寫了通過智能指針返回對象和普通返回指針
2 代碼測試
include <iostream> #include <mutex> #include <memory>using namespace std;class Single { public:static Single& getInstance(){std::mutex mt;if (instance.get() == NULL) {mt.lock();if (instance.get() == NULL) {instance.reset(new Single());}mt.unlock();}return *instance;} private:Single(){}~Single(){}static std::auto_ptr<Single> instance;friend class std::auto_ptr<Single>;Single(const Single&);Single& operator= (const Single&); };std::auto_ptr<Single> Single::instance;class Single1 { public:static Single1* getInstance(){mutex mt;if (instance == NULL) {mt.lock();if (in總結(jié)
以上是生活随笔為你收集整理的C++之智能指针和普通指针单例模式两种实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++编译之提示ld: can‘t op
- 下一篇: Effective C++学习笔记之co