第七十二题(设计一个类,我们只能生成该类的一个实例)
来源:互联网 发布:facebook好友推荐算法 编辑:程序博客网 时间:2024/05/16 05:41
72. 题目:设计一个类,我们只能生成该类的一个实例。
分析:设计模式中的单例模式,这里给出单例模式的几种情形下的C++实现。
普通的单例模式:
class CSingleton { public: static CSingleton* getInstance() { if (mInstance == NULL) mInstance = new CSingleton(); return mInstance; } private: CSingleton(){} static CSingleton* mInstance; };
增加删除操作的单例模式:
class CSingleton { public: static CSingleton* getInstance() { if (mInstance == NULL) mInstance = new CSingleton(); return mInstance; } private: CSingleton(){} static CSingleton* mInstance; private: class Deleter { public: ~Deleter() { delete CSingleton::mInstance; } }; private: static Deleter deleter; };增加锁的单例模式:
class CSingleton { public: static CSingleton* getInstance() { Lock(); if (mInstance == NULL) mInstance = new CSingleton(); unLock(); return mInstance; } private: CSingleton(){} static CSingleton* mInstance; private: class Deleter { public: ~Deleter() { delete CSingleton::mInstance; } }; private: static Deleter deleter; };
饿汉模式:
class SingletonStatic { private: static const SingletonStatic* mInstance; SingletonStatic(){}; public: static const SingletonStatic* getInstance() { return mInstance; } }; const SingletonStatic* SingletonStatic::mInstance = new SingletonStatic();
0 0
- 第七十二题(设计一个类,我们只能生成该类的一个实例)
- 设计一个类,我们只能生成该类的一个实例。
- 设计一个类,我们只能生成该类的一个实例
- 设计一个类,我们只能生成该类的一个实例。
- 剑指officer第二题:题目:设计一个类,我们只能生成该类的一个实例(五种方法实现)
- 72 题目:设计一个类,我们只能生成该类的一个实例
- 面试题2 设计一个类,我们只能生成该类的一个实例
- 设计一个类只能生成该类的一个实例
- 设计一个类,只能生成该类的一个实例
- 题目2:Singelton单例模式:设计一个类,只能生成该类的一个实例。
- 设计一个类,该类不能被继承,且只能实例化3次
- 设计一个类,该类不能被继承,且只能实例化3次
- 写一个类,要求:该类不能被继承且只能被实例化三次(转)
- 写一个只能生成两个实例对象的类
- C++ 设计一个类,只能生成一个对象
- 只能生成一个对象的类(经典设计模式之一)
- 设计一个只能创建一个唯一实例的类——单例模式
- java思考题:设计一个只能创建一个唯一实例的类。
- 拦截器
- android中libs目录下armeabi和armeabi-v7a的区别
- Oracle触发器
- upnp协议学习笔记一
- №05 存储过程§2
- 第七十二题(设计一个类,我们只能生成该类的一个实例)
- fflush()
- Win8安装程序出现2502、2503错误解决方法
- stanford nlp第四课“语言模型(Language Modeling)”
- Orchard性能调优
- 文件下载处理
- Python+IDE+界面设计
- 邮件乱码问题彻底解决办法
- linux tmp目录的o权限属性t的含义