C++ | 单例模式
2015-09-26 00:13
411 查看
为什么会有单例模式?
通常都会举Windows的任务管理器的栗子。
单例模式怎么实现呢?
上面的类不是线程安全的。可以考虑在new的时候上锁,new完后解锁。或更高效的静态化初始化。
waiting to write……
http://www.jellythink.com/archives/82
通常都会举Windows的任务管理器的栗子。
单例模式怎么实现呢?
#include <memory> #include <iostream> 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; }; auto_ptr<Singleton> Singleton::_instance; //cpp file
上面的类不是线程安全的。可以考虑在new的时候上锁,new完后解锁。或更高效的静态化初始化。
waiting to write……
http://www.jellythink.com/archives/82
相关文章推荐
- c/c++中内存区域划分大总结
- c++ waring deprecated conversion from string constant to 'char*'解决办法
- 联合体相关
- C++求字符串长度
- More Effective C++ 条款23 考虑使用其他程序库
- C/C++ 中的次方运算
- C和指针 (学习之旅)
- C语言的关键字
- 《C++primer(第五版)》学习之路-第十章:泛型算法
- 【C语言】求1+2!+3!+...+20!的和
- 【转载,自己做了些批注】重学C++ Primer后一些基本知识点注意点总结
- C++的字符串长度获取办法
- C语言指针小知识点记录
- 《OOC》笔记(3)——C语言变长参数va_list的用法
- C语言的不知道第多少天(2)
- C++读取多行数字然后读取该行各个数字
- 2.C++单链表
- c++定义动态数组
- DevExpress VCL 2014.1.2 for C++BUILDER XE6
- c++ set