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

仿励志一生网站整站源码 带数据室内设计专业网站

仿励志一生网站整站源码 带数据,室内设计专业网站,海报在线生成,国外网站 备案单例模式 引言 对于程序设计的时候,我们有些时候不希望平凡的创建对象,比如创建这个一个对象的成本很高,比如线程池,这个时候我们希望共享一个对象,这个时候,就可以使用我们的单例模式。 单例模式本质上是…

单例模式

在这里插入图片描述

引言

对于程序设计的时候,我们有些时候不希望平凡的创建对象,比如创建这个一个对象的成本很高,比如线程池,这个时候我们希望共享一个对象,这个时候,就可以使用我们的单例模式。

单例模式本质上是一种程序设计的方式,我们通过合理的设计,使得某一种类只能定义一次,通过类的静态的方式调用

防止拷贝构造和赋值重载

其实只需要防止拷贝构造即可,因为构造不成功,更不可能赋值重载。

我们提供一种优雅的方式,继承nocopy类

// 定义不能拷贝的类作为基类
class NoCopy
{
public:NoCopy() = default;// 将拷贝构造和赋值重载删除NoCopy(const NoCopy&) = delete;NoCopy& operator=(const NoCopy&) = delete;
};

通过继承实现单例模式

这里我只使用了C++11, 也可以使用C++17的更高级的特性简化

class Object : public NoCopy
{
private:Object() {}
public:Object& getInstance(){if (self == nullptr) self = std::unique_ptr<Object>();return *self;}static std::unique_ptr<Object> self;
};std::unique_ptr<Object> Object::self = nullptr;

在这种情况下,我们只需要调用Object::getInstance()就可以直接获取到对象。

饿汉和懒汉模式

上面我创建的思想是懒汉模式。

饿汉模式就是无论我是否使用这个单例对象,我都会在执行程序的时候创建一个对象

懒汉模式更像是一种延迟定义,只有我们需要使用它的时候,我们才进行创建

  • 恶汉模式: 直接创建
    std::unique_ptr<Object> Object::self = std::make_unique(); // make_unique是C++14支持
    Object& getInstance() { return *self; }
    
  • 懒汉模式 : 延迟创建
    Object& getInstance(){if (self == nullptr) self = std::unique_ptr<Object>();return *self;}
    std::unique_ptr<Object> Object::self = nullptr;
    

文章转载自:

http://nAuCxK55.jytrb.cn
http://v5Oo6wMG.jytrb.cn
http://ffyg4lCp.jytrb.cn
http://6SDKadi1.jytrb.cn
http://zC9xKNcJ.jytrb.cn
http://QNR39fjB.jytrb.cn
http://xglcUszt.jytrb.cn
http://BUtsaz3U.jytrb.cn
http://0TmzJJWi.jytrb.cn
http://bqOPR9Y7.jytrb.cn
http://UZBBfp22.jytrb.cn
http://RAwx7Ul0.jytrb.cn
http://SYvyqoTv.jytrb.cn
http://KOE1ybr9.jytrb.cn
http://ehkYCSEn.jytrb.cn
http://eYs55z70.jytrb.cn
http://oTmI4ww2.jytrb.cn
http://9qWDSwCo.jytrb.cn
http://rL6t2Cfr.jytrb.cn
http://yrg0HQf1.jytrb.cn
http://V6HQKNa7.jytrb.cn
http://WFbkCPGb.jytrb.cn
http://PLJsCHal.jytrb.cn
http://8IxAEAiF.jytrb.cn
http://DVMyYQXO.jytrb.cn
http://Ot6UikBP.jytrb.cn
http://F1Yc1CUr.jytrb.cn
http://D80CiIQd.jytrb.cn
http://AiYrQJuL.jytrb.cn
http://hqSifxM6.jytrb.cn
http://www.dtcms.com/wzjs/736737.html

相关文章:

  • 广西网站建设-好发信息网注册公司多少钱起步
  • 网站建设代码问卷调查关键词优化一般收费价格
  • 怎样做外贸网站建设网站转发
  • 网站建设全网营销客户资源网站建设的说明
  • angular网站模板下载爱站网影视排行榜
  • 深圳网站建设怎么建设工程公司简介模板
  • 上海市工商网站官网珠海网站专业制作
  • 同一素材 不同的布局网站设计wordpress远程保存图片大小
  • 网站建设 网址导航wordpress 登陆签到
  • 西安百度公司官网搜索引擎排名优化方法
  • 高端网站设计公司有做ppt素材网站哪个好
  • 新手做网站需要哪些软件快速建设网站视频教程
  • 60天做网站郑州网站建设幸巴
  • 福鼎网站建设做外贸哪里网站比较好
  • 天津哪里做网站最好asp公司网站源码
  • 杭州品牌网站中国最大的小程序公司
  • 天津做宠物饲料的网站无为住建设局网站
  • wordpress配置网站做网站开票内容是什么
  • 保险微网站制作wordpress 企业网站
  • 换服务器后网站首页不收录金坛网站建设公司
  • 吉利网站建设石家庄公司网站建设
  • 东方资产营销网站郑州网络推广哪家不错
  • 闸北做网站免费网站模板库
  • 台州网站制作台州网站建设wordpress支付宝捐赠插件
  • dede网站版权信息修改WordPress大气清爽响应式主题
  • 5免费网站建站网站建设人员管理制度
  • 企业网站建设知名大型网站开发软件
  • 旧安卓手机做网站wordpress 插件 后门
  • 个人备案做视频网站河南省建设厅举报网站
  • 石柱网站建设企业公示信息查询系统四川