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

自己建公司网站可以嘛学校网站模板

自己建公司网站可以嘛,学校网站模板,免费公司网站模版,请公司做网站没有做好可以退钱吗《C 智能指针&#xff1a;长达数十年的血泪史&#xff0c;一步步征服内存泄漏》-CSDN博客 shared_ptr<int> sp1(new int(10)); 这句代码实际存在两个内存开辟&#xff0c;一是开辟我们要托管的内存资源 &#xff0c;二是开辟引用计数的资源&#xff0c;引用技术也是new出…

《C++ 智能指针:长达数十年的血泪史,一步步征服内存泄漏》-CSDN博客

	shared_ptr<int> sp1(new int(10));

这句代码实际存在两个内存开辟,一是开辟我们要托管的内存资源 ,二是开辟引用计数的资源,引用技术也是new出来的。它们两个是单独new出来的,在不同的内存空间。

如果new int(10)成功了,new引用计数没有成功,那么就意味着shared_ptr对象创建失败了!就不会调用析构函数再释放资源了。所以就会导致资源泄漏,存在这个风险。

	shared_ptr<int> sp2 = make_shared<int>(10);// auto sp2 = make_shared<int>(10);

把我们需要托管的内存资源和存储引用计数的内存资源一起开辟了,在一块内存上,去new一次!所以,要么都开辟成功,要么都开辟失败,如果失败了,由于不存在资源的开辟即不存在资源的泄漏。

优点:

  • 内存分配效率高
  • 防止资源泄漏的风险

缺点:

  • 无法自定义删除器
  • 导致托管的资源延迟释放

理解shared_ptr托管资源延迟释放的问题

  • 如果为shared_ptr

当最后一个使用资源的shared_ptr对象要析构时,强智能指针引用计数uses--为0,就会立即将资源释放,即使此时弱智能指针weaks不为0还在观察。因为托管的资源和存储引用计数的资源不在同一块内存。

  • 如果为make_shared

当强智能指针引用计数--为0要释放资源时,如果此时weaks不为0,那么就不能将资源释放,因为它们是同一块内存开辟出来的,即现在没有shared_ptr指向资源了,资源也无法释放。只有当weaks也为0时,才能将资源释放。

使用C++14make_shared代替shared_ptr,使用C++14make_unique代替unique_str。

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

相关文章:

  • 淄博网站建设专家中国企业培训网
  • 做微信小程序是不是不用做网站推广文章的注意事项
  • 建筑装饰公司做网站的作用seo关键词优化
  • 谷城网站建设网络培训心得体会5篇
  • wordpress上传文件路径成都网站优化平台
  • 搭建公司网站费用国内好的seo
  • 哪家公司做网站专业百度收录在线提交
  • 网站模板免费下载php视频广告联盟平台
  • php 网站建设流程外贸企业网站设计公司
  • 怎样查看网站日志文件百度工具seo
  • wordpress关闭某个栏目上海关键词优化方法
  • 网站建设中正在为您转博客seo优化技术
  • 青海省住房和城乡建设局网站十大短视频平台排行榜
  • wordpress仿站教程网网站收录查询工具
  • 内部购物券网站怎么做ping站长工具
  • 广州建站招聘拼多多seo是什么意思
  • 创建网站是怎么赚钱的使用软件提高百度推广排名
  • 泉州网站关键词推广费用自己怎么制作网页
  • 建设工程类公司网站重庆森林百度网盘
  • 哪里有工程做的网站西安百度关键词排名服务
  • 外贸网站建设制作西安网络公司
  • 网站建设制作服务商百度怎么发免费广告
  • 网站设湖人最新排名最新排名
  • 做视频素材哪个网站好头条今日头条
  • 上海网安网站建设关键词优化推广公司排名
  • 建设企业查询网站武汉seo网站推广培训
  • wordpress物流插件宁波seo公司哪家好
  • 网站设计 手写济南特大最新消息
  • 网站建设费用如何入账电商网站大全
  • 台州网站搜索引擎优化广州信息流推广公司排名