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

dede网站下载wordpress小兽

dede网站下载,wordpress小兽,如何挖掘和布局网站关键词,wordpress 添加过滤器为什么要有智能指针#xff1f; 指针智能是管理管理动态内存分配对象的一种机制。它提供了自动管理内存#xff0c;避免常见内存泄漏和悬空指针。 对于上述Func函数的操作#xff0c;一不小心就会产生很多问题。 p1 new时候抛异常 什么都不做p2 new时候抛异常 p1需要被清理…为什么要有智能指针 指针智能是管理管理动态内存分配对象的一种机制。它提供了自动管理内存避免常见内存泄漏和悬空指针。 对于上述Func函数的操作一不小心就会产生很多问题。 p1 new时候抛异常 什么都不做p2 new时候抛异常 p1需要被清理div除0错误 p1 p2 都需要清理 上述代码我们也实现了delete但是却有没被调用的风险。 资源没有被回收就会导致内存泄漏内存越用越多如操作系统会卡死。 自动管理资源——智能指针 RAIIResource Acquisition Is Initialization是一种利用对象生命周期来控制程序资源         在对象构造时获取资源接着控制对资源的访问使之在对象的生命周期内始终保持有效最后在对象析构的时候释放资源。借此我们实际上把管理一份资源的责任托管给了一个对象。这种做法有两大好处 不需要显式地释放资源。采用这种方式对象所需的资源在其生命期内始终保持有效 指针智能就是针对RAII思想设计的一种管理资源的方法 智能指针的使用 1利用对象生命周期管理 智能指针的基本使用思路。将对象通过指针交给一个类类在调用的时候构造完成初始化析构完成自动清理资源。 解决上述问题 创建对象sp1 sp2时会调用构造函数将new int 构造类中的指针。在sp1 sp2的生命周期结束时栈帧的销毁会调用对象的析构函数 将动态开辟的内存释放掉 new sp1异常 什么都不做 没有任何构造 new sp2 异常栈帧会跳转到catch 局部变量sp1会被销毁调用析构 div函数出异常 局部变量sp1和sp2的栈帧都要被销毁自动调用析构函数 上述操作就是将一个对象托管给另一个对象管理资源。就是RAII的思想  *和- 为了让智能指针能够像指针一样操作。我们将智能指针进行操作符重载。*解引用和(取地址)。 浅拷贝问题 利用上述的指针管理资源。不适合拷贝对象。 类中对于拷贝操作默认是浅拷贝就是将对象资源按照字节一个个拷贝过去。 对于本题中new开辟一块空间将空间的地址交给智能指针构造出sp1由sp1管理资源。 而在第二步拷贝赋值中将sp1的地址一个字节一个字节拷贝给sp2因此二者指向同一块空间。 在对象生命周期结束时会自动调用析构函数。sp1和sp2指向同一块空间。一块空间delete俩次所以会产生错误。 怎么解决 这里就从历史的角度谈谈 一 auto_ptr 在C98中提出管理权限转移的思想。 假定都是sp1做为要被覆盖的对象 在拷贝构造和赋值时将被赋值对象的资源转移到自身。在拷贝构造时-----sp2指针的地址转为空在赋值时------需要检查是否自己赋值自己然后需要释放sp1的内存将sp2的内存转移到sp1上 将sp2的指针悬空 由于资源管理权限被转移指针存在悬空。 二 unique_ptr 在C98和C11之间产生了非官方库 boost unique_ptr 简单粗暴----防止拷贝 在成员函数中如果不写拷贝构造函数和赋值运算符编译器就会自动生成默认函数。如果我们显示的实现而不再赋值上操作。如果只是声明不写实现那么有可能在类外被实现。 因此要在类内实现声明并且声明为私有 在C11中delete关键字禁止生成默认函数 三  shared_ptr shared_ptr 其实就是对资源做引用计数——当引用计数为 0 的时候自动释放资源。 比如我们有俩个对象同时指向同一块空间(sp1,sp2)。如果sp1被销毁了就会什么也不做。然后空间配套的引用计数就会从2减到1。如果当sp2也要被释放时引用计数从1减到0此时计数为0就要释放这块空间。 简单的来说shared_ptr包含俩部分 一个指向堆上创建的裸指针一个指向内部隐藏的、共享的管理对象 count代表被多少对象引用共享了也就是引用对象。 计数器设为全局吗 在C中用全局变量要非常谨慎。 如果将计数器设为全局那么计数器就属于全部的类该类的任何一个对象的增加或减少都会影响计数器。因此需要对每一块资源分配一个计数器。 构造为_pcount开空间release():减计数不为0不操作计数为0时删除空间赋值检查自己赋值自己释放旧空间 更新_pcount 拷贝构造拷贝地址和_pcount 更新_pcount基本指针操作 循环引用的解决 shared_ptr指针还存在循环引用的问题再下一篇文章中将作为重点探讨同时介绍weak_ptr。 总结 1. 尽量使用智能指针管理资源申请与释放减少人为new和delete误操作和考虑不周的问题。 2.RAII思想就是利用变量生命周期管理资源。 点我gitee提取代码
http://www.zqtcl.cn/news/793888/

相关文章:

  • 做自己的卡盟网站做技术一般逛那些网站
  • 网站建设自学多长时间做网站原型的软件
  • 营销型的物流网站模板北京楼市最新消息
  • 宁波模版建站公司湘潭建设网站公司
  • 世界十大网站排名出炉最新军事新闻最新消息视频
  • 医疗电子的网站建设城市建设管理
  • win10建站wordpress商城网站结算页面怎么做
  • 电商网站模板引擎惠阳做网站公司
  • 如何在百度做网站推广中企动力企业邮箱手机邮箱
  • extjs做的网站开发公司宣传语
  • 长安做外贸网站关于阅读类网站的建设规划书
  • php网站建设思路方案阿里巴巴如何建设网站
  • 网站做什么推广好网站域名注册步骤
  • 官方建网站有哪些步骤国内成熟的crm系统
  • 建设银行深圳天健世纪支行网站电子商务网站建设员
  • 个人备案域名可以做企业网站吗海南做公司网站
  • 浙江坤宇建设有限公司网站施工企业施工生产计划
  • 成都建站推广域名备案用的网站建设方案
  • 西安市城乡建设管理局网站6一级域名生成二级域名
  • 网站建设沙漠风服装公司网站源码
  • 体检营销型网站php网站建设培训班
  • 做洁具最好的网站数据分析
  • 郑州网站建设丶汉狮网络网站建设中图片是什么意思
  • 深圳网站建设公司设计公司做影视网站用主机还是用服务器
  • 网站建设价格如何做问卷调查网站
  • 网络营销推广合同天津网站seo策划
  • 明年做那个网站致富wordpress loper
  • 网站开发原理柳州网站推广
  • 杭州高端网站开发重庆网站建设去迅法网
  • 营销型网站建设调查表用flash做游戏下载网站