
单例
奋斗Andy
努力不一定成功,成功离不开努力!
展开
-
单例的模版+宏的实现
下面,对 单例的模版实现 使用宏进一步简化。Singleton.h在 Singleton.h 的最后面添加宏 SINGLETON#ifndef SINGLETON_H#define SINGLETON_H#include #include template typename T>class Singleton {public: static T& getInst转载 2016-10-10 17:37:56 · 959 阅读 · 0 评论 -
单例的模版实现
相信现在大家对单例的实现已经成竹于胸,接下来,介绍使用模版技术实现单例。Singleton.h对于不同的类型,只能使用类模版 Singleton 生成一个唯一的对象。#ifndef SINGLETON_H#define SINGLETON_H#include #include template typename T>class Singleton {public:转载 2016-10-10 17:36:25 · 489 阅读 · 0 评论 -
单例的智能指针+宏的实现
如果要创建一个单例的数据库连接池 ConnectionPool,那么实现单例部分的代码和 ConfigUtil 的几乎一样,声明 private 的构造函数,拷贝构造函数,析构函数,赋值操作符,QScopedPointer instance,friend struct QScopedPointerDeleter,几乎完全一样的 getInstance() 等,这些代码几乎都是重复的,每个单例的类这转载 2016-10-10 17:34:13 · 706 阅读 · 0 评论 -
单例的智能指针实现
前面提出了一个问题:可不可以不需要我们手动的调用 release() 函数,程序结束前自动的删除单例类的对象呢?答案是可以,使用智能指针可以达到这个目的,这里我们使用的是 Qt 的 QScopedPointer 来实现,也可以使用标准的 C++ 的智能指针。Qt 的帮助文档里对 QScopedPointer 的描述是The QScopedPointer class stores a p转载 2016-10-10 17:33:35 · 2324 阅读 · 0 评论 -
单例的简单实现
用简单直观的方式来实现一个单例的类 ConfigUtil,这里不使用宏,模版等技术,先了解实现一个单例类的理论知识,然后在此基础之上进行思考,优化,最终让我们的实现真正的达到实用的目的,而不只是功能上可用,但是质量却很不好。实现单例时,需要注意以下几点:C++ 的书里经常强调:一个类,至少要提供构造函数,拷贝构造函数,析构函数,赋值运算操作符,尤其是有成员变量是指针类型,保存指针的数组转载 2016-10-10 17:31:03 · 546 阅读 · 0 评论