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

城固县网站建设wordpress还原站点

城固县网站建设,wordpress还原站点,展厅设计说明100字,深圳市品牌策划公司单例模式即保证一个类只有一个实例#xff0c;并提供一个访问该单例的接口。 实例 1.懒汉式 用的时候才创建单例#xff0c;“懒”。 Singleton.h #ifndef SINGLETON_H_ #define SINGLETON_H_#include iostream #include string #include mutex…单例模式即保证一个类只有一个实例并提供一个访问该单例的接口。 实例 1.懒汉式 用的时候才创建单例“懒”。 Singleton.h #ifndef SINGLETON_H_ #define SINGLETON_H_#include iostream #include string #include mutexclass Singleton {public:static Singleton* GetInstance() {if (instance_ nullptr) {// 加锁保证多个线程并发调用getInstance()时只会创建一个实例m_mutex_.lock();if (instance_ nullptr) {instance_ new Singleton();}m_mutex_.unlock();}return instance_;}private:Singleton() {}static Singleton* instance_;static std::mutex m_mutex_; };#endif // SINGLETON_H_ 这就是双重检验锁保障了线程安全。第一个判空可加速判断是否已有单例第二个锁内的判空是为了解决多线程问题两个线程同时走到lock且instance_都为nullptr。 Singleton.cpp #include Singleton.h// 静态变量instance初始化不要放在头文件中, 如果多个文件包含singleton.h会出现重复定义问题 Singleton* Singleton::instance_ nullptr; std::mutex Singleton::m_mutex_; main.cpp #include iostream #include Singleton.hint main() {Singleton *s1 Singleton::GetInstance();Singleton *s2 Singleton::GetInstance();std::cout s1地址: s1 std::endl;std::cout s2地址: s2 std::endl;return 0; } 编译运行 $g -g main.cpp Singleton.cpp -stdc11 -o singleton $./singleton s1地址: 0x95a040 s2地址: 0x95a040 2. 饿汉式 类初始化就创建单例GetInstance()只是获取动作“饿”。  Singleton.h #ifndef SINGLETON_H_ #define SINGLETON_H_class Singleton {public:static Singleton* GetInstance() {return instance_;}private:Singleton() {}static Singleton* instance_; };#endif // SINGLETON_H_ Singleton.cpp #include Singleton.hSingleton* Singleton::instance_ new Singleton(); main.cpp #include iostream #include Singleton.hint main() {Singleton *s1 Singleton::GetInstance();Singleton *s2 Singleton::GetInstance();std::cout s1地址: s1 std::endl;std::cout s2地址: s2 std::endl;return 0; } 编译运行 $g -g main.cpp Singleton.cpp -stdc11 -o singleton $./singleton s1地址: 0x18a8040 s2地址: 0x18a8040 3. Meyers Singleton Meyers Singleton是Scott Meyers提出的C单例的推荐写法。它将单例对象作为局部static对象定义在函数内部  #ifndef SINGLETON_H_ #define SINGLETON_H_class Singleton {public:static Singleton GetInstance() {static Singleton instance;return instance;}Singleton(const Singleton) delete;Singleton operator(const Singleton) delete;private:Singleton() {} };#endif // SINGLETON_H_ 需要C11支持C11保证static成员初始化的线程安全
http://www.hkea.cn/news/14419993/

相关文章:

  • 校园网站建设意见表填写安徽省建设厅网站个人怎么注册
  • 论坛网站制作费用做新网站推广的活动
  • 郑州旅游网站搭建班级网站建设图片
  • 策勒网站建设新万网
  • 咸宁网站设计公司井陉矿区网站建设
  • 淘宝客单页网站网站设计主要做什么
  • 嘉华伊美网站建设编程培训机构名字
  • 做网站属于程序员吗源码网站代理
  • 企业网站系统详细设计html手机版下载
  • 建设家具网站的目的及功能定位下载什么软件可以做动漫视频网站
  • 在线搭建网站深圳品牌策划vi设计
  • 网站一跳率如何制作单页网站
  • 可信网站注册网站制作合同范本
  • 免费注册网站软件WordPress最强大的主题
  • 商城网站带宽控制玉林做网站公司
  • 在线做头像网站有哪些个人网站备案简介
  • it外包方式包括重庆网站seo昔年优化
  • 龙岗中心城有学网站建设网站建设与管理领导小组
  • 个人网站模板怎么用试用网站cms
  • 做网站哪些做网站开发需要考什么证书
  • 人防工程做资料的网站做网站服务器可以挂到外地么
  • 成都建立网站的公司建设免费网站模板
  • 网站制作与维护公司网站基本建设投资内容
  • 湖北响应式网站建设企业wordpress应用教程 pdf
  • 用手机可以做网站吗wordpress 去掉w
  • 华为商城网站设计分析小锋云主机
  • 企业网站模板公司园林景观设计公司纳税义务的发生时间的确定
  • 家居设计网站推荐建设大马路小学网站
  • 蓬莱网站建设哪家专业wordpress改模版
  • 网站开发公司经营范围奇客影院wordpress