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

做外贸阿里巴巴有哪些网站适合40岁女人的培训班

做外贸阿里巴巴有哪些网站,适合40岁女人的培训班,原创手做网站,青岛做网站建网站当使用std::shared_ptr时&#xff0c;循环引用可能会导致资源泄漏的问题。下面是一个简单的示例&#xff0c;展示了循环引用导致资源泄漏的情况&#xff1a; #include <iostream> #include <memory>class A; class B;class A { public:std::shared_ptr<B> b…

当使用std::shared_ptr时,循环引用可能会导致资源泄漏的问题。下面是一个简单的示例,展示了循环引用导致资源泄漏的情况:

#include <iostream>
#include <memory>class A;
class B;class A {
public:std::shared_ptr<B> b_ptr_;A() {std::cout << "A constructor" << std::endl;}~A() {std::cout << "A destructor" << std::endl;}
};class B {
public:std::shared_ptr<A> a_ptr_;B() {std::cout << "B constructor" << std::endl;}~B() {std::cout << "B destructor" << std::endl;}
};int main() {std::shared_ptr<A> a_ptr(new A());std::shared_ptr<B> b_ptr(new B());a_ptr->b_ptr_ = b_ptr;  // A持有B的shared_ptrb_ptr->a_ptr_ = a_ptr;  // B持有A的shared_ptrreturn 0;
}

在上述示例中,类A和类B相互持有对方的std::shared_ptr。这样就形成了循环引用,因为两个对象彼此引用对方的std::shared_ptr,导致引用计数永远不会变为0,资源无法正确释放。

main()函数结束时,a_ptrb_ptr超出了作用域,它们的析构函数被调用,但由于循环引用的存在,对象AB的析构函数不会被调用,资源无法被释放,从而导致资源泄漏。

为了避免循环引用导致的资源泄漏,可以使用std::weak_ptr来打破循环引用,如下所示:

#include <iostream>
#include <memory>class A;
class B;class A {
public:std::shared_ptr<B> b_ptr_;A() {std::cout << "A constructor" << std::endl;}~A() {std::cout << "A destructor" << std::endl;}
};class B {
public:std::weak_ptr<A> a_ptr_;B() {std::cout << "B constructor" << std::endl;}~B() {std::cout << "B destructor" << std::endl;}
};int main() {std::shared_ptr<A> a_ptr(new A());std::shared_ptr<B> b_ptr(new B());a_ptr->b_ptr_ = b_ptr;  // A持有B的shared_ptrb_ptr->a_ptr_ = a_ptr;  // B持有A的weak_ptrreturn 0;
}

在上述示例中,类B的成员变量a_ptr_使用std::weak_ptr来持有A的弱引用,这样不会增加A对象的引用计数。当A对象被释放时,std::weak_ptr会自动失效,不会影响资源的释放。这样就打破了循环引用,避免了资源泄漏的问题。

http://www.khdw.cn/news/58202.html

相关文章:

  • 乐清做网站建设公司哪家好php视频转码
  • 做网站客户需求企业培训考试
  • 滴答手表网站女教师遭网课入侵视频大全集
  • 传奇网站装备动态图怎么做推广软文范例100字
  • 毕业设计做网站大小有什么要求网站seo排名优化软件
  • wordpress建站的好处百度云网盘网页版
  • 如何优化网站速度百度公司招聘条件
  • 做网站打电话话术做推广怎么赚钱
  • 网站英文域名是什么深圳seo优化排名公司
  • 杭州今日凌晨发布紧急通知seo服务顾问
  • 百度空间导出wordpressseo链接优化建议
  • 将自己做的网站发布到网上打开全网搜索
  • 网络网站建设电话推销重庆网站seo外包
  • 网站上怎样做下载文档链接核酸检测最新消息
  • 相亲交友网站建设软文是什么意思通俗点
  • codex.wordpress.org天津seo推广软件
  • 网站做多久百度自然排名优化
  • 如何删除自己建的网站郑州网站建设制作公司
  • 惠州网站制作网站优化排名seo
  • 免费b2b网站大全不花钱高端网站建设深圳
  • wordpress客户使用的后端seo优化方案模板
  • 淘宝做首页热点的什么网站常州百度关键词优化
  • 做网站如何排版ciliba磁力搜索引擎
  • wordpress视频会员seo搜索引擎优化怎么做
  • 网站销售需要注册公司吗个人网页制作完整教程
  • 怎么免费建论坛站长之家seo信息
  • 网站加载效果怎么做的站外引流推广渠道
  • 做程序任务发布的网站投放广告找什么平台
  • 做网站建设公司企业seo搜索方法
  • 怎么用本机做服务器发布网站宁波seo智能优化