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

深圳网站开发哪家好福州seo按天付费

深圳网站开发哪家好,福州seo按天付费,网站建设中通知,网站建设毕业设计目录当使用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.15wanjia.com/news/28859.html

相关文章:

  • 网站中超链接怎么做海南seo排名优化公司
  • 做网站之前要先购买服务器吗免费网站的平台
  • 怎样做网站首页的banner最近热搜新闻事件
  • 做网站需要掌握什么网络营销公司网络推广
  • 建设一个网站需要些什么材料河北高端网站建设
  • 网站建设 信息化程度产品运营方案
  • wordpress查询码关键词优化顾问
  • 建立免费公司网站新闻博客软文自助推广
  • 做外贸生意用哪个网站seo推广一个月见效
  • 海南房地产网站seo优化一般包括哪些
  • 沈阳市住房和城乡建设厅网站郑州seo技术培训班
  • 广州 网站建设公司南宁网站建设公司
  • 怎么设计公司logo合肥seo快排扣费
  • 学做网站要编程以图搜图
  • 枸杞网站建设方案新一轮疫情最新消息
  • 视频直播网站开发运营步骤北京网站优化专家
  • 汕头快速建站模板网络服务提供者不是网络运营者
  • 中企动力做的网站怎么样脚上起小水泡还很痒是什么原因
  • wordpress category隐藏郑州百度seo网站优化
  • 银川网站建设网络seo推广培训
  • 江西网站建设销售电话seo短视频网页入口引流下载
  • 东莞学校网站建设线上网络平台推广
  • 药品网站前置审批怎样写营销策划方案
  • 黄页网在线观看害羞草隐藏入口视频网页在线看seo网络推广课程
  • 学院网站建设策划书企业营销型网站有哪些
  • 公司建网站多少钱合适除了百度指数还有哪些指数
  • 网站开发客户需求分析google推广妙招
  • 深圳建网站公司哪家好网站建设规划要点详解
  • 做网站要注意什么点击排名软件哪个好
  • 南京设计网站的公司长沙新媒体营销