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

C++ 11 智能指针 std::weak_ptr

在 C++ 11的智能指针体系中,除了 std::shared_ptrstd::unique_ptr,还有一个非常重要的角色:std::weak_ptr。它是一个“弱引用”指针,用于配合 shared_ptr 解决资源管理中的循环引用问题,并实现更灵活的生命周期控制。

🧠 一、什么是 std::weak_ptr

std::weak_ptr 是 C++11 引入的标准库模板类,定义于 <memory> 头文件中。它不拥有对象的所有权,只是对一个由 shared_ptr 管理的对象进行“弱引用”。

✅ 主要特性:

特性描述
不增加引用计数weak_ptr 不影响对象的生命周期
可升级为 shared_ptr通过 .lock() 方法获取一个临时的 shared_ptr
http://www.xdnf.cn/news/14518.html

相关文章:

  • 项目开发中途遇到困难的解决方案
  • RISC-V物联网关,支持鸿蒙,T-Thread实时系统
  • 关于Seata的一个小issue...
  • 【蓝牙】Qt4中向已配对的手机发送PDF文件
  • html和css实现文本打断换行、自动换行
  • linux下如何找到dump文件被生成到哪里了
  • 机构运动分析系统开发(Python实现)
  • Excel学习01
  • 257. 二叉树的所有路径(js)
  • DL00215-基于YOLOv11的太阳能电池红外异常检测含数据集
  • 【工具】Koishi|koishi跨平台聊天机器人开发平台使用方式(开发者方式)
  • 神经网络试题
  • 船舶动力与自动化系统:PROFIBUS转EtherCAT接口技术的创新应用
  • 【分布式】基于Redisson实现对分布式锁的注解式封装
  • 数据要素治理框架下图情学科的核心角色重塑
  • 猜数字小游戏微信流量主小程序开源
  • 【机械视觉】Halcon—【十五、一维码(条形码)和二维码识别】
  • 多模态大语言模型arxiv论文略读(128)
  • 计算机视觉课程总结
  • FPGA基础 -- Verilog 锁存器简介
  • Python 区块链与Web3开发指南
  • 实战指南:用DataHub管理Hive元数据
  • 断言(Assertion)中常用的正则表达式
  • 最大公约数
  • 详细讲解Redis为什么被设计成单线程
  • 前端开发面试题总结-vue2框架篇(四)
  • Controller Area Network (CAN) 通信机制简介
  • 解决Matplotlib三维图无法旋转的问题
  • springboot入门之路(一)
  • Spring MVC 处理静态资源请求 - ResourceHandler