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

佛山网站建设灵格网络广告营销的案例

佛山网站建设灵格,网络广告营销的案例,没有网站可以做域名解析吗,wordpress 搜索框鼠标点击无效_需要按键盘回车weak_ptr这个指针天生一副小弟的模样,也是在C11的时候引入的标准库,它的出现完全是为了弥补它老大shared_ptr天生有缺陷的问题。只能配合shared_ptr一起使用。 shared_ptr 循环引用造成的后果:存在资源泄露 一、shared_ptr 的循环引用 什么…

weak_ptr这个指针天生一副小弟的模样,也是在C++11的时候引入的标准库,它的出现完全是为了弥补它老大shared_ptr天生有缺陷的问题。只能配合shared_ptr一起使用

shared_ptr 循环引用造成的后果:存在资源泄露

 一、shared_ptr 的循环引用

什么是循环引用的问题呢?在shared_ptr的使用过程中,当强引用计数为0时,就会释放所指向的堆内存。那么问题来了,如果和死锁一样,当两个shared_ptr互相引用,那么它们就永远无法被释放了。

struct ListNode
{int _data;shared_ptr<ListNode> _prev;shared_ptr<ListNode> _next;~ListNode() { cout << "~ListNode()" << endl; }
};
int main()
{shared_ptr<ListNode> node1(new ListNode);shared_ptr<ListNode> node2(new ListNode);node1->_next = node2;node2->_prev = node1;return 0;
}

以上代码运行,检测到如下内存泄露:

分析:定义出来的sp1和sp2都有如下的结构, 首先sp1是一个智能指针shared_ptr,所以它有它的_ptr和_pCount字段,其次ListNode结构的结点内部有三个成员变量,分别为data next prev,而且这个next和prev它俩也是俩个shared_ptr智能指针对象,也有其自己的_ptr和_pCount,于是定义出来的sp1对象就有如下的结构。sp2结构也和此图一致。

 经过如下的链接操作后:形成如下图的链接结构。

    node1->_next = node2;node2->_prev = node1;

随后,程序执行结束,进入到对象的析构环节,后创建的元素先析构,先进行sp2对象的析构,根据shared_ptr计数功能,对右边计数器进行--操作,发现计数器无法归零,所以不能对sp2资源进行释放,转而进行sp1对象的析构处理,但是对左侧计数器进行--操作后,发现仍然不能归零,俩个对象中的next和prev分别造成了不同计数器的无法归零,就导致内存泄露,资源无法回收。

二、weak_ptr 解决循环引用

标准库提供了weak_ptr,唯一作用就是帮助shared_ptr解决循环引用的问题

weak_ptr不能管理资源,只能配合shared_ptr一起使用。

如此修改之后,俩个对象正常进行析构,并且没有产生资源泄露。

 三、为什么weak_ptr能解决这个问题?

未完待续

http://www.dtcms.com/wzjs/446872.html

相关文章:

  • wordpress下载教程seo营销服务
  • 做企业网站开发哪家好企业官方网站有哪些
  • 2017网站seo如何做推广员网站
  • 舟山市城市建设档案馆网站怎么用手机制作网站
  • 网站城市分站织梦系统网站策划是做什么的
  • 上海网站建设市场分析重庆电子商务seo
  • 北海网站建设宁波seo网络推广定制
  • 家居网站建设精英网店推广平台有哪些
  • 网站免费建站黄天津seo建站
  • 电子商务网站建设的知识点百度官网下载安装免费
  • 政府网站建设如何运用用户思维百度上看了不健康的内容犯法吗
  • 创建网站需要哪些工作策划
  • 企业邮箱注册申请需要多少钱二十条疫情优化措施
  • 电子商务网站建设教学大纲seo排名优化培训怎样
  • 怎么在虚拟空间做两个网站百度学术查重
  • 武汉做网站建设销售方案
  • 做汽车介绍视频的网站吗抖音优化
  • 怎么做电影流量网站百度广告联盟平台
  • 成都专业手机网站建设服务seo程序
  • 一个网站可以绑定几个域名上海外贸网站seo
  • 织梦网站上传保存文档网站建设的六个步骤
  • 免费做一建或二建题目的网站企业培训
  • 电子工程网网站郑州竞价托管
  • 英国有哪些做折扣的网站有哪些搜一搜站长工具
  • 台州网站建设解决方案百度站长平台注册
  • 哪个网站跨境电商做的最好seo课程培训视频
  • 互联网公司是干啥的衡水seo优化
  • 加盟网站分页怎么做seo软文自动发布软件
  • 办公空间设计说明seo搜索引擎优化简历
  • 南宁网站备案搜索引擎优化排名培训