当前位置: 首页 > news >正文

网上书城网站开发外文参考文献口碑营销的优势

网上书城网站开发外文参考文献,口碑营销的优势,普通的宣传网站用什么做,响应式网页设计图片单例的定义 官方定义:单例是指确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点。 单例的写法 抓住3点: 构造函数私有化(确保只有一个实例)提供一个可以获取构造实例的接口(提供唯一的实…

单例的定义

官方定义:单例是指确保一个类在任何情况下都绝对只有一个实例并提供一个全局访问点。

单例的写法

抓住3点:

  • 构造函数私有化(确保只有一个实例)
  • 提供一个可以获取构造实例的接口(提供唯一的实例)
  • 正常写你需要实现的函数

 举个例子

①就是构造函数私有化,把构造函数放在private

②就是提供一个可以获取实例的接口,这个实例就是私有变量_singleton

③就是正常需要实现的函数,正常咋写就咋写,但最好是独立的且需要多次被使用

用法

在需要使用单例的文件中添加单例的头文件

举个例子,我要在BlockFileTreeView中使用单例中的函数,那么我就在BlockFileTreeView.cpp中添加单例头文件

#include "ResourceTreeViewSingleton.h"

然后再需要调用函数的地方通过单例的init获取实例,然后调用需要使用的函数

filePath = _fileLocalPath + ResourceTreeViewSingleton::init()->getRelativePath(_currentProcessItem,"");
重点就是这句ResourceTreeViewSingleton::init()->getRelativePath(_currentProcessItem,"");

红色部分是获取单例的实例,黄色部分就是调用单例的函数。

单例代码

.h

#ifndef RESOURCETREEVIEWSINGLETON_H
#define RESOURCETREEVIEWSINGLETON_H#include <QSharedPointer>
#include <QMutex>
#include <QStandardItem>
#include <QFileInfo>
class ResourceTreeViewSingleton: public QObject
{Q_OBJECT
public:~ResourceTreeViewSingleton() override;static QSharedPointer<ResourceTreeViewSingleton>& init();static void doDeleteLater(ResourceTreeViewSingleton *obj);static void releaseThis();// 单例类中需要实现的函数bool isDirVisible(QString text);QString changeUnit(const qint64 &size);QString changeQStringSize(const QString &size);bool isFile(QStandardItem * item);QString getRelativePath(QStandardItem *item, QString relativePath);QList<QStandardItem *> queryStandardItem(QStandardItem *topItem);QList<QStandardItem *> queryStandardItemPush(QStandardItem *topItem);bool saveFile(const QString &filePath, const QString &text);QString getDefaultDeviceName(const QStandardItem *item, const QFileInfo &fileInfo);
private:explicit ResourceTreeViewSingleton(QObject *parent = nullptr);static QSharedPointer<ResourceTreeViewSingleton > _singleton;static QMutex _mutex;
};#endif // RESOURCETREEVIEWSINGLETON_H

.cpp

#include "ResourceTreeViewSingleton.h"
#include <QMutexLocker>
#include <QStandardItem>
QMutex ResourceTreeViewSingleton::_mutex;
QSharedPointer<ResourceTreeViewSingleton> ResourceTreeViewSingleton::_singleton;ResourceTreeViewSingleton::ResourceTreeViewSingleton(QObject *parent): QObject(parent)
{}ResourceTreeViewSingleton::~ResourceTreeViewSingleton()
{}void ResourceTreeViewSingleton::doDeleteLater(ResourceTreeViewSingleton *obj)
{obj->deleteLater();
}
void ResourceTreeViewSingleton::releaseThis()
{_singleton.clear();
}QSharedPointer<ResourceTreeViewSingleton> &ResourceTreeViewSingleton::init()
{//初始化决定了它所在的线程if (_singleton.isNull()){QMutexLocker mutexLocker(&_mutex);if (_singleton.isNull()){//发现 doDeleteLater 会崩溃_singleton = QSharedPointer<ResourceTreeViewSingleton>(new ResourceTreeViewSingleton()/*,doDeleteLater*/);}}return _singleton;
}//下面写需要实现的正常函数

http://www.hengruixuexiao.com/news/30359.html

相关文章:

  • 网站开发流程css阿里指数查询入口
  • 模板制作视频越秀seo搜索引擎优化
  • 用模块做网站宣传渠道和宣传方式有哪些
  • 建筑工程网站源码seo是怎么优化推广的
  • 住房和城乡建设部2019年安全生产工作要点广告seo是什么意思
  • 可以做h5网站百度优化师
  • wordpress地址(url)怎么更改汕头搜索引擎优化服务
  • 工商局网站怎么做增项网站关键词推广价格
  • 在大网站做网页广告需要多少钱网站优化软件哪个好
  • 哪些网站可以做平面设计挣钱百度游戏
  • 软件开发文档编写规范外链seo
  • 彩票网站开发需要多少钱精准ip地址查询工具
  • 建立健全制度北京百度推广排名优化
  • wordpress设置图标东莞网络推广及优化
  • 日本药妆电子商务网站建设规划书企业网站营销的优缺点及案例
  • 北京海淀网站建设公司nba最新交易一览表
  • 学校二级网站建设自查情况网络推广发帖网站
  • 东莞建网站公司哪个好网站服务器ip地址查询
  • 网站建设中页面下载接广告推广的平台
  • 做seo网站优化哪家强电商运营培训
  • 做网站好接活吗网络营销推广策划步骤
  • 本地网站建设多少钱南京网站seo
  • 网站建设优秀网如何找客户资源
  • 做微信充值网站深圳百度seo培训
  • 商务类网站网络促销的方法有哪些
  • 公司企业网站建设教程友情链接赚钱
  • 成都市住房和城乡建设委员会网站新手运营从哪开始学
  • app开发公司启动资金有哪些seo工具有哪些
  • 四川网站建设企业网站制作seo网站有优化培训吗
  • 企业公共服务平台网站建设方案免费正规的接单平台