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

如何创建个人appseo学习论坛

如何创建个人app,seo学习论坛,Wordpress网站删除多余主题,关于学院网站建设的通知目录 答题格式#xff1a; 几个易错点 可能问法四#xff1a; 问题分析#xff1a; 问题解答#xff1a; 上回文说到#xff0c;weak_ptr的功能和区别#xff0c;并且进行了分析#xff0c;我们接着进行解答。 答题格式#xff1a; int main() { std::we…目录 答题格式 几个易错点 可能问法四 问题分析 问题解答 上回文说到weak_ptr的功能和区别并且进行了分析我们接着进行解答。 答题格式 int main() {        std::weak_ptrListNode wp;     std::shared_ptrListNode sp; {         std::shared_ptrListNode n1(new ListNode);         wp n1;//虽然weak_ptr不支持直接管理资源但是可以管理shared_ptr已经管理的空间这边是直接拷贝了一个shared_ptr对象也可以使用make_shared        //weak_ptr会遇到引用失效的问题, 主要是因为引用对象被置空了主要还是因为引用计数没有像shared_ptr那样及时更新的问题。然后其weak_ptr自己本身又没有析构函数无法及时释放        cout wp.expired() endl;//expired判断会不会引用失效如果失效了就是真的就会返回1没有就会返回0        n1-_data;         sp wp.lock();//lock的作用是放止引用消失把wp的资源给跟他同生命周期的sp管理防止其过期因为shared_ptr一般不会出现引用失效的问题所以这个lock就相当于讲weak_ptr提升为类型为shared_ptr的sp这也说明了weak_ptr可以管理shared_ptr已经管理的资源相当于提升了。    }       cout wp.expired() endl;//出了作用域n1销毁了此时wp就指向了一个空的空间                                   //就引用失效了原本会输出1的但是加上锁lock就不会了 return 0; } 所以结合上面代码答案如下 上面提到的expired 和lock面试官没问就不必说了 几个易错点 1。这些智能指针在用的时候还是要加上头文件memory这里你发现不加也没错主要是因为编译器隐式包含了。具体解释如下 虽然VS对于某些语法的优化很厉害但是这里绝对不会优化掉头文件的。所以还是带上比较好。 2。shared_ptr是不会出现引用失效的因为它的引用计数是会变的但是这里如果引用的是一个空的对象也就是说shared_ptr为nullptr那这里的引用计数就需要特殊处理的实际是给0的因为引用空的根本不需要管理。 3。weak_ptr是有引用计数的属于弱引用只是引用计数不会随着管理资源的改变而改变也就是不增加引用计数。 可能问法四 你知道什么是循环引用吗怎么解决这种情况 问题分析 这个问题就是在考察shared_ptr的缺点已经weak_ptr的研发原因属于背一背就可以了最多就是将一个例子。 问题解答 循环引用自然就是你引用着我我又引用着你呗你想释放资源我引用着你你得等我释放了才能释放但是我想释放又被你引用着这样绕来绕去就随都释放不了了。一下例子可做参考。 struct ListNode {     int _data; shared_ptrListNode _next;     shared_ptrListNode _prev;     ~ListNode()     {         cout ~ListNode() endl;     } }; int main() {     // 循环引用 -- 内存泄露     shared_ptrListNode n1(new ListNode);     shared_ptrListNode n2(new ListNode);     cout n1.use_count() endl;     cout n2.use_count() endl;     n1-_next n2;     n2-_prev n1;     cout n1.use_count() endl;     cout n2.use_count() endl;     //在循环的地方使用weak_ptr就不会出现这种问题     //weak_ptr不支持管理资源不支持RAII     return 0; } 可以看到引用计数正常增加了结果无法正常析构。 下面解释一下为什么 结论照成这种原因的本质就是引用计数的正常增加导致内部循环的部分无法释放所以解决问题的关键计数使得内部循环引用的部分的引用计数不会增加就可以了这时weak_ptr不会增加引用计数的优势就体现了只需要将链表内部循环的部分的管理的智能指针换成weak_ptr就可以了。 //weak_ptrListNode _next; //weak_ptrListNode _prev;
http://www.hkea.cn/news/14394290/

相关文章:

  • 网站备案前置审批表临淄招聘信息最新招聘信息
  • 网站备案通知网络营销专业分析
  • 网页设计与网站建设主要内容在微信怎么开发公众号
  • 网站建设工作的作用自己做网站需要服务器吗
  • 网站建设论坛机械手表网站
  • 网站开发最新技术能看网站的浏览器
  • 三水顺德网站建设做网站图片如何压缩图片
  • 装饰公司网站模版用什么程序做视频网站
  • 做网站坂田手机自己免费制作app软件
  • 网站建设的意义怎么写莆田网站 建设
  • 自己网站建设的流程是什么开发公司的一般利润率2020
  • 做网站需要办什么证件wordpress链接样式设置方法
  • 阿里云中英文网站建设上市公司专利查询网站
  • 服装网站设计模板化妆品网站设计论文
  • django企业网站开发实例导航网站怎么做点击
  • 电子商务网站有哪些和网址广州哪里有网站建设
  • 网站seo优化课程个人手机版网站建设
  • 网站域名批量查询注册双井网站建设
  • asp.net做报名网站如何给异地网站做镜像
  • 电子商务网站建设合同seo招聘的关键词
  • wordpress 新闻采集站网站建设 猴王网络0成本
  • 网站ui设计包括哪些原则苏州高端网站定制
  • dede做的网站打不开wordpress淘宝采集
  • 网站建设需要什么软件有哪些东宁做木耳招工人网站
  • 网站修改dns线上免费编程课
  • 承装承修承试材料在哪个网站做制作一个网站费用
  • 网站百度收录是什么意思wordpress远程插件
  • 新建的网站可以百度推广seo是指什么岗位
  • 青岛做门户网站的建设网站需要几个文件夹
  • 深圳公明网站建设本周新闻热点10条2021