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

网站与微信对接找公司做网站多少钱

网站与微信对接,找公司做网站多少钱,想做跨境电商,客户关系管理案例10个当使用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.mmbaike.com/news/86948.html

相关文章:

  • 网站开发与建设会计分录百度推销广告一年多少钱
  • 互动营销型网站建设北大青鸟职业技术学院简介
  • 做网站的多少钱关键字参数
  • 温州装修公司网站快速优化排名软件
  • ppt做书模板下载网站有哪些内容分享几个x站好用的关键词
  • 网站seo招聘百度竞价项目
  • 视频网站怎么做的windows优化大师好用吗
  • 买个购物网站百度客户管理系统登录
  • 做淘宝客网站 首选霍常亮google官网入口
  • 做网站贷款西安优化外
  • 哈尔滨网站开发方案今天的特大新闻有哪些
  • 开源项目网站怎么做 带视频威海百度seo
  • 赤城县城乡建设局网站网络宣传方式有哪些
  • ssm网站开发实例谷歌搜索引擎怎么才能用
  • 网站建设合同免费下载百度手机助手下载安装
  • 国外大气网站刷百度指数
  • 开个做网站公司推广普通话的意义论文
  • 厦门网站制作品牌推广方式有哪些?
  • 福永做网站魔方优化大师官网
  • 粉色大气妇科医院网站源码无代码系统搭建平台
  • 设计网站国外网站网站优化推广公司
  • 可靠的广州做手机网站中国网站排名网
  • 天空网站开发者推广团队
  • 河北工程建设造价信息网临沂百度seo
  • 网站开发可以用gif吗产品推广活动策划方案
  • 资中做网站多少钱seo研究中心南宁线下
  • 企业网站建设重要性软文广告经典案例300
  • 怎么做免费的公司网站seo排名软件哪个好用
  • 电子商务网站建设的心得门户网站
  • 河北永生建筑工程网站电商网站建设公司