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

手机制作表白网站滨海做网站的价格

手机制作表白网站,滨海做网站的价格,wordpress多文章,湖南sem优化单例模式 引言 对于程序设计的时候,我们有些时候不希望平凡的创建对象,比如创建这个一个对象的成本很高,比如线程池,这个时候我们希望共享一个对象,这个时候,就可以使用我们的单例模式。 单例模式本质上是…

单例模式

在这里插入图片描述

引言

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

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

防止拷贝构造和赋值重载

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

我们提供一种优雅的方式,继承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://www.yayakq.cn/news/9576/

相关文章:

  • 建设网站的企业淮安网站建设价格
  • 光谷软件园 网站建设网站优化外包公司
  • 电子商务网站域名注册方法南宁百度快速排名优化
  • 对其网站建设进行了考察调研有口碑的番禺网站建设
  • 怎么看网站pvwordpress输出副标题
  • 门户网站开发需求海尔电子商务网站建设
  • 潍坊外贸建站网页项目策划书模板
  • 个性化网站建设部网站官网办事大厅
  • 澄海区建设局网站建设工程招投标网站
  • 大连外贸建站加强单位门户网站建设的通知
  • 奉贤青岛网站建设哈尔滨市工程建设项目网
  • 闵行区做网站公司wordpress安装第二步
  • 郑州网站制作工作室保定seo网站推广
  • 网站建设漳州中建集团
  • php网站开发框架搭建网上商城毕业设计论文
  • 广州市民政局网站建设湛江网站建设皆选小罗23
  • 高端品牌网站建设专人一对一服务旅游网站的设计与制作html
  • 大姨吗网站wordpress主要插件
  • 怎么给网站做备份呢没人愿意干的68个暴利行业
  • 做个网站 多少钱wordpress微信推送
  • 网站建设教程视频手机在线制作图片
  • 兰州酒店网站建设学校网站制作公司
  • 怎样经营好一个网站可以做词云的网站
  • 免费模板网站都有什么区别开展网络营销的方式
  • 青岛房产网站网站导航用什么字体
  • 上海公司网站建设以子公司长沙建站
  • 网站开发公司哪家最强济南建网站公
  • 做网站建设销售工资高吗打字建站宝
  • 怎么做音乐mp3下载网站自己做的网站怎么改背景图
  • 网站模板库官网wordpress中英文标题