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

做期货到哪个网站看新闻手机百度关键词优化

做期货到哪个网站看新闻,手机百度关键词优化,东莞外贸优化公司,肇庆网站建设公司上一篇博文中,我们使用单独的火箭发射函数,结果什么结果也没有得到,原因是launch_rocket()函数结束时,其内的局部对象counter生命周期也结束了 那么可以将counter改为指针吗?在堆中分配,这样当函数退出时&…

上一篇博文中,我们使用单独的火箭发射函数,结果什么结果也没有得到,原因是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_ptr<DownCounter>;第二,就算this是shared_ptr<DownCounter>类型的智能指针,对其进行取值操作(* this)之后,它也要被打回原形,恢复到DownCounter值类型,其后对它进行std::ref()也于事无补,不可能变回智能指针。

http://www.dt0577.cn/news/50607.html

相关文章:

  • wordpress集成微博登录seo优化培训班
  • 专注徐州网站开发深圳网站seo优化
  • 济南哪家公司做网站好旅游搜索量环比增188%
  • 做网站工作都包括什么谷歌seo教程
  • b2b建站系统怎么做互联网推广
  • 网站点击排名重庆seo整站优化设置
  • 小孩子做手工做游戏的网站seo网站推广目的
  • wordpress 大气模板seo优化seo外包
  • 网站开发的主要工作app推广赚钱平台
  • 国贸行业的网站建设全网关键词搜索工具
  • wordpress 站点地址 wordpress地址爱站seo
  • php在动态网站开发启信聚客通网络营销策划
  • 网址站建站 seo课程
  • 建设网站是什么关系优化排名seo
  • 网站开发工资一般多少优化软件
  • 如何自己建一个微网站7个经典软文营销案例
  • 罗湖做网站的seo综合查询平台官网
  • 兰州网站建设推广报价黄冈黄页88网黄冈房产估价
  • 电影网站设计说明书福州短视频seo机会
  • 网站建设如何给网址设置链接免费浏览网站推广
  • 广州市城市建设seo的工作内容主要包括
  • 做的最好的美女视频网站有哪些怎样进行seo
  • 专业的聊城做网站费用seo推广主要做什么
  • 成品网站灬1688网络推广搜索引擎
  • 专门做照片书的网站全网营销整合营销
  • 国内大的网站建设公司网站收录入口
  • html旅游网站制作代码湖北搜索引擎优化
  • wordpress主题UIGREAT游戏优化大师下载安装
  • wordpress缩略图清除惠州seo排名
  • 外贸行业网站建设公司排名百度竞价投放