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

莱州做网站汕头建设银行电话

莱州做网站,汕头建设银行电话,外贸网站建设服务商,高端网页设计培训学校上一篇博文中#xff0c;我们使用单独的火箭发射函数#xff0c;结果什么结果也没有得到#xff0c;原因是launch_rocket()函数结束时#xff0c;其内的局部对象counter生命周期也结束了 那么可以将counter改为指针吗#xff1f;在堆中分配#xff0c;这样当函数退出时我们使用单独的火箭发射函数结果什么结果也没有得到原因是launch_rocket()函数结束时其内的局部对象counter生命周期也结束了 那么可以将counter改为指针吗在堆中分配这样当函数退出时它不会被释放。这样肯定是不行的这样不会得到结果还会造成内存泄露。 那么我们可以使用智能指针如下图 代码 这样还是没用当函数一结束智能指针对象counter还是立即释放。 运行结果 原因分析 当前的代码中智能指针counter从来没有被复制所以它的引用计数就只是1当所处的函数结束减至0于是释放。这效果和当初的栈对象版本有何区别 思路 前面说到链式任务即上一个任务结束前负责产生下一个任务所有的异步任务都被丢给io_service对象管理然后请看例中ios对象它在main()中定义所以虽不是全局变量但至少在main()函数内将一直存活。 如果我们在每次产生新任务丢给io_service对象时 都至少复制一次counter,一并丢给ios对象处理智能指针counter所指向的实质一下就将像接力跑中的接力棒一样一直存活直至链式任务反应结束。 既然要走链式传递智能指针的路也就同样面临两个关键环节。第一个环节是什么时候创建出智能指针。这一步已经完成就在“launch_rocket()”函数中 第二个环节是产生新任务的环节如何复制该智能指针先看现有的代码终点是划线的那行 有一个好消息async_wait()函数的入参用到this,意味着正好把当前对象*this又传递下去了。当前对象*this是传给“_timer”对象然后再由“_timer”对象作为事件回调所需的一个入参传递给io_service对象。 有连个坏消息第一this永远是裸指针此处它的类型是“DownCounter * ”而非我们想要的shared_ptrDownCounter第二就算this是shared_ptrDownCounter类型的智能指针对其进行取值操作* this之后它也要被打回原形恢复到DownCounter值类型其后对它进行std::ref()也于事无补不可能变回智能指针。
http://www.hkea.cn/news/14306926/

相关文章:

  • 给了几张图让做网站国外网站 icp备案
  • 个人站点的制作威海网站开发网络公司
  • 北京的电商平台网站网页设计制作网站html代码大全
  • 为了同学都能访问网站如何做网络营销方式哪些
  • 网站建设的实施制作阶段包括专业网站制作流程
  • 广州做网络服装的网站建设漳州seo建站
  • 钟表商城网站建设方案wordpress创建配置文件
  • 正黄集团博弘建设官方网站昆明百度网站建设
  • 站长平台社区wordpress 严重 漏洞
  • 介绍网站设计风格网站运营目的
  • 建设网站选题应遵循的规则咋样做网站视频
  • 开发网站用什么语言好wordpress拷站
  • 电子商务网站网络拓扑图增加浏览量的软件
  • 郑州 网站建设有限公司WordPress调用json数据
  • wordpress 浏览量排序seo系统
  • 天津市建设教育培训中心网站网站关键词和描述
  • 专注吴中网站建设推广怎么制作公众号视频
  • 网站建设需要用什么书怎么可以做网站的网站
  • 如何做双语网站上海松江做网站公司
  • 怎么把自己做的网站放到百度上做行业网站赚钱
  • 旅游网站设计源码包装设计专业是学什么的
  • 绍兴做网站公司市场营销策划公司
  • 外贸网站 wordpress百度搜索指数排名
  • 莆田网站建设莆田南宁微网站制作需要多少钱
  • 中国建设银行网站查工资宾馆在什么网站做推广效果好
  • 青岛专业设计网站公司做U启的网站
  • 广州安全教育平台视频seo营销网站的设计标准
  • 绵阳市网站建立怎么跳转网站
  • 怎么用ps做网站首页背景图片软件开发与网站开发
  • 仙游县住房和城乡建设局网站陈田拆车件网上商城