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

做商业网站要交税吗百度产品大全

做商业网站要交税吗,百度产品大全,wordpress快播插件,网站建设方案 备案上一篇博文中,我们使用单独的火箭发射函数,结果什么结果也没有得到,原因是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.jinmujx.cn/news/112843.html

相关文章:

  • 上海建设监理协会网站百度智能云建站
  • 新网站建设的流程合肥新闻 今天 最新消息
  • 做网站找哪家2345网址大全浏览器
  • 朔州做网站公司app开发平台
  • 网站建设遇到哪些问题合肥做网站公司哪家好
  • 个人网站怎么办理宁波seo教程网
  • 腾讯云学生机做网站b2b网站平台有哪些
  • 爱互融网站开发合同南京seo网站管理
  • 有打赏功能的网站网络整合营销4i原则是指
  • 网站收藏以后怎样做桌面快捷键热狗seo外包
  • 网站维护费一般多少钱网站优化人员通常会将目标关键词放在网站首页中的
  • 合肥高端网站设计个人网站seo
  • 新一代 网站备案友情链接检查工具
  • 属于教育主管部门建设的专题资源网站是凡科网站建设
  • 电子商务网站建设的基本流程百度最贵关键词排名
  • 浙江专业网站建设商城供应营业推广怎么写
  • 江门h5模板建站大型网站建设平台
  • 做安卓开发要去看哪些网站营销推广的主要方法
  • wordpress网站安全性今日深圳新闻最新消息
  • html手机网站开发后端网页怎么做
  • 建网购网站2345网址导航主页
  • 苏州网站建设方法网站流量排名查询工具
  • 网站开发人员 组织架构汕头网站排名优化
  • 网站做百度推广划算吗长春网站制作
  • 网站服务器过期了免费的模板网站
  • 网站如何设计搜索框最新国际军事动态
  • 自己电脑做服务器网站搜索引擎优化的英语简称
  • 如何迅速建企业网站产品推广的渠道
  • 那块做微信平台网站如何搜索关键词热度
  • 做美食视频网站上海最新政策