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

网站备案全国合作拍照点营销型网站模板

网站备案全国合作拍照点,营销型网站模板,网销是什么意思,如何装修公司网站单例模式(Singleton Pattern)是一种常用的设计模式,它保证一个类只有一个实例,并提供一个全局访问点。基本实现懒汉式(线程不安全)class Singleton { private:static Singleton* instance;// 私有构造函数防止外部实例化Singleton…

单例模式(Singleton Pattern)是一种常用的设计模式,它保证一个类只有一个实例,并提供一个全局访问点。

基本实现

懒汉式(线程不安全)

class Singleton {
private:static Singleton* instance;// 私有构造函数防止外部实例化Singleton() {}public:// 删除拷贝构造函数和赋值运算符Singleton(const Singleton&) = delete;Singleton& operator=(const Singleton&) = delete;static Singleton* getInstance() {if (instance == nullptr) {instance = new Singleton();}return instance;}
};// 初始化静态成员
Singleton* Singleton::instance = nullptr;

饿汉式(线程安全)

class Singleton {
private:static Singleton instance;Singleton() {}public:Singleton(const Singleton&) = delete;Singleton& operator=(const Singleton&) = delete;static Singleton& getInstance() {return instance;}
};// 在程序开始前就初始化
Singleton Singleton::instance;

线程安全的懒汉式实现

使用双重检查锁定(C++11及以上)

#include <mutex>class Singleton {
private:static Singleton* instance;static std::mutex mtx;Singleton() {}public:Singleton(const Singleton&) = delete;Singleton& operator=(const Singleton&) = delete;static Singleton* getInstance() {if (instance == nullptr) {std::lock_guard<std::mutex> lock(mtx);if (instance == nullptr) {instance = new Singleton();}}return instance;}
};Singleton* Singleton::instance = nullptr;
std::mutex Singleton::mtx;

使用局部静态变量(C++11及以上,最简洁的线程安全实现)

class Singleton {
private:Singleton() {}public:Singleton(const Singleton&) = delete;Singleton& operator=(const Singleton&) = delete;static Singleton& getInstance() {static Singleton instance;return instance;}
};

单例模式的优缺点

优点:

  1. 确保一个类只有一个实例

  2. 提供全局访问点

  3. 避免频繁创建和销毁对象,节省系统资源

缺点:

  1. 违反单一职责原则(既管理实例又包含业务逻辑)

  2. 可能导致代码耦合度高

  3. 难以进行单元测试

  4. 在多线程环境下需要特殊处理

使用场景

  1. 需要频繁创建和销毁的对象

  2. 创建对象耗时或资源消耗大

  3. 工具类对象

  4. 访问数据库或文件的对象

在现代C++中,推荐使用局部静态变量的实现方式,它简洁且线程安全(C++11保证局部静态变量的初始化是线程安全的)。

http://www.dtcms.com/wzjs/488285.html

相关文章:

  • 怎么搭建钓鱼网站推广引流话术
  • c语言也能干大事网站开发免费海报模板网站
  • 企业网站建设 招标 评分表百度知道提问首页
  • 肥城网站建设怎么营销一个产品
  • 农八师建设兵团社保网站武汉网站提升排名
  • 做网站建设小程序长沙关键词优化服务
  • 无锡新吴区建设环保局网站seo推广软件怎样
  • 我的网站没备案怎么做淘宝客推广东莞网站推广及优化
  • 社区团购小程序模板宁波seo网络推广优质团队
  • 如何做公司网站点击率高引流获客工具
  • 网站建设初验申请表国内做seo最好的公司
  • 网站开发与应用总结百度seo推广计划类型包含
  • 安徽池州建设厅网站免费域名空间申请网址
  • 如何做企业网站加v搜索引擎有哪些?
  • 素材网站怎么做宁波网络推广公司有哪些
  • 上海网站建设公司四叶互联网站的推广方式有哪些
  • 百度网站推广申请竞价服务托管公司
  • 有哪些外国网站做精油的西安seo顾问公司
  • 一个网站做数据分析要多少钱软文营销文章案例
  • 网站模板源代码商丘seo外包
  • wordpress多站点site id广告公司接单软件
  • 山西做网站的公司哪个好夜夜草
  • 盐城做网站的公司长沙疫情最新数据消息
  • 网站建设和网站推广seo整站优化吧
  • 外贸seo网站制作百度账号查询
  • 医院网站优化深圳网页设计
  • 做爰免费网站北京seo
  • 定制系统软件开发网站推广优化排名seo
  • 怎样把网站推广出去轻松seo优化排名 快排
  • 网站专业建设公司seo优缺点