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

做货代用的网站wordpress 上标 小圆1

做货代用的网站,wordpress 上标 小圆1,王占郡,建站网站和维护需要会什么区别weak_ptr是C智能指针中的一种。它用于解决共享所有权的问题,并且可以避免因循环引用而导致的内存泄漏。 weak_ptr本身并不承担对象的所有权,它指向由shared_ptr管理的对象。与shared_ptr不同,weak_ptr并不会增加计数器来计算对象的引用次数。…

weak_ptr是C++智能指针中的一种。它用于解决共享所有权的问题,并且可以避免因循环引用而导致的内存泄漏。

weak_ptr本身并不承担对象的所有权,它指向由shared_ptr管理的对象。与shared_ptr不同,weak_ptr并不会增加计数器来计算对象的引用次数。因此,当所有shared_ptr释放后,即使还有相关的weak_ptr存在,也无法访问对象。为了判断对象是否仍然存在,weak_ptr提供了一个方法来检查其所指向的对象是否有效。

使用weak_ptr探知对象是否存活的方法如下:

  1. 创建weak_ptr对象:通过shared_ptr创建一个weak_ptr对象,将其绑定到所管理的对象上。
std::shared_ptr<int> sharedPtr = std::make_shared<int>(42);
std::weak_ptr<int> weakPtr(sharedPtr);

在上述示例中,我们使用shared_ptr管理一个整数对象,并通过weak_ptr创建一个弱引用。

  1. 检查对象是否有效:可以使用expired()成员函数来检查weak_ptr所指向的对象是否仍然有效。如果返回值为true,则表示对象已经被释放,不再可用;如果返回值为false,则表示对象仍然有效。
if (weakPtr.expired()) {// 对象已经被释放
} else {// 对象仍然有效
}
  1. 锁定weak_ptr:如果希望访问weak_ptr所指向的对象,可以使用lock()成员函数来获取一个指向对象的shared_ptr。如果对象已经被释放,则返回一个空的shared_ptr
std::shared_ptr<int> sharedPtr = weakPtr.lock();
if (sharedPtr) {// 通过 sharedPtr 访问对象
} else {// 对象已经被释放
}

在上述示例中,我们通过lock()函数尝试获取一个shared_ptr来访问对象。如果对象已经被释放,则返回一个空的shared_ptr,否则返回一个有效的shared_ptr

需要注意的是,由于weak_ptr不会增加引用计数,因此不能直接使用weak_ptr来访问对象。需要将其转换为shared_ptr,以确保对象在使用期间不会被意外释放。

通过以上方法,我们可以使用weak_ptr来探知对象是否存活,并避免悬空指针的风险。这在处理缓存、观察者模式等场景下特别有用。

下面是陈硕书中的demo
在这里插入图片描述

http://www.15wanjia.com/news/164020.html

相关文章:

  • 做设计应该看哪些网站个人网站的设计与实现的主要内容
  • 电子商务网站系统规划室内设计学校大专
  • 网站开发项目文档怎么做网页定时提醒
  • 网站尺寸自适应建设银行江苏省分行网站
  • 福建住房和城乡建设厅网站首页398做网站彩铃
  • 网站的页脚山东潍坊建设银行招聘网站
  • 成都哪家做网站比较好短视频推广代理
  • 西安手机网站建设公司排名高端网站建设公司零零
  • 如何在godaddy空间做手机网站做推广网站需要商标吗
  • 网站建设的原因wordpress 建立数据库连接时出错 重启数据库
  • 韩国风格网站php源码为什么说做网站赚钱
  • 产品发布网站网站的分页做不好会影响主页
  • 免费学校网站模板html超市网站建设方案
  • 五合一网站做优化好用吗网站集群建设必要性
  • jsp ajax网站开发典型实例 pdfdw网站建设模板
  • 杭州网站公司设计网站定制的公司哪家好
  • 做网站一般按什么报价毕业生对于网站建设感受
  • 开发一个网站做公司内部用网站专栏怎么做漂亮
  • 重庆景点图片网站优化推广的方法
  • 营销方案 网站如何登录网站服务器
  • 建设工程安全备案网站装修设计软件哪个好用
  • 开发个微网站多少钱科技服务公司网站模版
  • 厦门企业网站开发南京设计网站
  • 北京珠宝网站建设莱芜网页定制
  • 做视频网站想用家庭网络宁波高端定制网站建设
  • 平面设计手绘网站中国企业公司网站建设
  • 学校网站建设方案论文旗舰店的网站怎么做
  • 广西网站建设证件查询医院网站制作公司
  • 杭州网站建设网页制作做一个网站需要到哪里做
  • 买的网站可做360广告联盟吗建立网站很重要的要素是什么