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

网站内容及实现方式中铁建设集团最新门户网登录

网站内容及实现方式,中铁建设集团最新门户网登录,wechat官方下载,专业上海网站建设公司哪家好前言 那么这里博主先安利一些干货满满的专栏了#xff01; 首先是博主的高质量博客的汇总#xff0c;这个专栏里面的博客#xff0c;都是博主最最用心写的一部分#xff0c;干货满满#xff0c;希望对大家有帮助。 高质量干货博客汇总https://blog.csdn.net/yu_cblog/c…前言 那么这里博主先安利一些干货满满的专栏了 首先是博主的高质量博客的汇总这个专栏里面的博客都是博主最最用心写的一部分干货满满希望对大家有帮助。 高质量干货博客汇总https://blog.csdn.net/yu_cblog/category_12379430.html?spm1001.2014.3001.5482 什么是单例模式 一个类只能创建一个对象即单例模式该模式可以保证系统中该类只有一个实例并提供一个访问它的全 局访问点该实例被所有程序模块共享。比如在某个服务器程序中该服务器的配置信息存放在一个文件 中这些配置数据由一个单例对象统一读取然后服务进程中的其他对象再通过这个单例对象获取这些配置 信息这种方式简化了在复杂环境下的配置管理。 单例模式有两种实现方式 饿汉模式懒汉模式 饿汉模式 就是说不管你将来用不用程序启动时就创建一个唯一的实例对象。 优点: 简单、没有线程安全问题 缺点: 当一个程序中有多个单例并且有先后初始化顺序的要求的时候饿汉无法控制。饿汉单例类创建得多的时候初始化任务多的时候会影响程序的启动速度。 //设计只能创建一个对象的类单例模式 //有两种设计方案 //饿汉模式 -- 一开始(main())之前就创建出对象了 #if 1 class MemoryPool //假设要求设计一个内存池 -- 要求是单例的 当然只是名字而已我们不是真的实现内存池 { public:static MemoryPool* GetInstance(){return _pinst;}void* Alloc(size_t n){void* ptr nullptr;//...//里面啥东西我们不管return ptr;}void Dealloc(void* ptr){//...} protected:char* _ptr nullptr; protected://构造函数私有MemoryPool() {}//两种写法这里只写了一种写成指针也可以不写成指针也可以static MemoryPool* _pinst;//声明 }; MemoryPool* MemoryPool::_pinst new MemoryPool;#define MemoryPoolObject MemoryPool::GetInstance() int main() {//一般是这样调用的直接调就行void* ptr1 MemoryPool::GetInstance()-Alloc(10);MemoryPool::GetInstance()-Dealloc(ptr1);//单例模式一般就是通过这个 MemoryPool::GetInstance() 去找到这个已经创建好的对象去调它里面的东西void* ptr2 MemoryPoolObject-Alloc(29);MemoryPoolObject-Dealloc(ptr2);return 0; } #endif 懒汉模式 对象第一次使用的时候再创建。 优点 可以控制顺序不影响启动速度 缺点 相对复杂线程安全问题要处理好 //懒汉模式 //对象第一次使用的时候再创建 class MemoryPool //假设要求设计一个内存池 -- 要求是单例的 当然只是名字而已我们不是真的实现内存池 { public:static MemoryPool* GetInstance(){//如果发现指针是nullptr的时候说明我们是第一次使用这个类if (_pinst nullptr){//第一次创建cout 第一次创建对象 endl;_pinst new MemoryPool;}return _pinst;}void* Alloc(size_t n){void* ptr nullptr;//...//里面啥东西我们不管return ptr;}void Dealloc(void* ptr){//...}class CGarbo{public:~CGarbo(){if (_pinst)delete _pinst;}}; protected:char* _ptr nullptr; protected://构造函数私有MemoryPool() {}//两种写法这里只写了一种写成指针也可以不写成指针也可以static MemoryPool* _pinst;//声明 }; MemoryPool* MemoryPool::_pinst nullptr; //回收对象 //在main结束之后它会调用析构函数就会释放单例对象 static MemoryPool::CGarbo gc; #define MemoryPoolObject MemoryPool::GetInstance() int main() {//一般是这样调用的直接调就行cout -------- 第一次使用 -------- endl;void* ptr1 MemoryPool::GetInstance()-Alloc(10);MemoryPool::GetInstance()-Dealloc(ptr1);//单例模式一般就是通过这个 MemoryPool::GetInstance() 去找到这个已经创建好的对象去调它里面的东西cout -------- 第二次使用 -------- endl;void* ptr2 MemoryPoolObject-Alloc(29);MemoryPoolObject-Dealloc(ptr2);return 0; } 单例模式的释放问题 一般情况下单例对象不需要释放 -- 一般来说整个程序运行期间都会用它。单例对象再进程正常结束之后也会资源释放。有些特殊场景需要释放比如单例对象析构时候需要进行一些持久化操作往文件、数据库里面去写大思路定义一个内部的垃圾回收类
http://wiki.neutronadmin.com/news/232022/

相关文章:

  • 佛山网站建设费用网站闭关保护怎么做
  • 用dw做的代码怎么放在网站上提供做网站企业
  • 品牌网站建设有哪些方面seo百度快照优化公司
  • 网站空间支持功能网站招工费怎么做会计分录
  • 宁波公司网站建设价格蚌埠市建设学校网站
  • 网站代码优化方案厦门在哪个网站做用工报备
  • 实现网站"今天访问量昨天访问量"统计插件 for dedecms广东网站建设公司有哪些
  • 长沙诚信做网站域名维护一个年多少钱
  • 网站傻瓜式建设科技公司网站系统
  • 网站开发发送短信wordpress一页主题
  • 电子商务网站建设基本步骤it培训学校it培训机构
  • 哪里有营销型网站上海十大国企排名
  • 如何建个人网站教程wordpress设置免审核
  • 网站背景图片自动切换4s店网站建设计划
  • 建始县城乡建设局网站抖音代运营方案及报价
  • 受欢迎的锦州网站建设乐清做手机网站
  • 做网站横幅的软件关键词如何优化排名
  • 台州网站关键字优化详情十大永久免费crm
  • 泰安网站建设案例企业建站公司是干嘛的
  • 做的网站没流量吗文化网站设计经典案例
  • 广州顺德网站设计聊城百度做网站的
  • 广州seo网站公司网站开发用到的框架
  • 二月网站建设南宁用模板做网站的方法
  • 做传奇网站怎么弄的泰州网站推广见效快
  • 科技成果转化网站建设西安找工作
  • 福州做网站的公司中文域名做的网站有哪些
  • 网站的优化从几个方面做地方门户网站不备案可以吗
  • dz论坛网站需要桂林象鼻山门票
  • 常州网站建设外包公司哪家好文章网站模板哪个好
  • 制作自己专属头像seo收录查询工具