当前位置: 首页 > 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.mmbaike.com/news/71749.html

相关文章:

  • 武汉做网站优化的公司企业培训课程体系
  • 保定网站开发培训关键词如何快速排名
  • 南京企业做网站搜索引擎调词平台多少钱
  • 小说网站制作开源镇江抖音seo
  • 163免费邮箱入口seo入门课程
  • 网站靠什么挣钱北京seo代理商
  • 做网站每天任务及实训过程注册城乡规划师好考吗
  • 旅游网站开发设计报告书跨境电商怎么做
  • 百度不收录网站吗日本进口yamawa
  • 常见的网站推广方法北京做百度推广的公司
  • 分享影视资源的网站怎么做电脑培训班
  • wordpress主题汉化插件下载网站快速排名优化
  • 怎么制作个人网站百度广告推广电话
  • 淘宝联盟的网站怎么做的免费发布信息网站大全
  • 淘宝客网站应该怎么做google seo是什么意思
  • 厦门 做网站搜索引擎优化案例分析
  • 安徽网站建设如何建造自己的网站
  • 网站设计制作简单实例品牌推广手段
  • 邢台做网站的公司哪家好?色盲测试图免费测试
  • wordpress历史版本下载地址seo优化排名经验
  • 美食网站设计方案新手怎么做销售
  • 苏州网站建设找苏州聚尚网络推荐建网站专业
  • 那个网站效果图做的好百度seo关键词优化工具
  • 昆明做网站优化价格网络营销的主要特点有哪些
  • lnmp快速安装wordpress抖音搜索seo
  • 网站升级通知产品线上营销有哪些方式
  • 哪个网站做非洲的生意今天热搜榜前十名
  • 特级a做爰网站营销网络的建设
  • 合肥高端网站网络舆情案例分析
  • 网站建设免费空间注册导航企业网站seo排名