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

拷贝构造函数

    shared_ptr(const shared_ptr<T>& other) : ptr_(other.ptr_), ref_count_(other.ref_count_) {
  1. 函数声明:

    shared_ptr(const shared_ptr<T>& other)

  • 这是一个拷贝构造函数
  • 参数other是一个常量引用
  • 用于复制一个已有的智能指针

// 假设我们有两个智能指针
shared_ptr<int> p1(new int(42));  // 第一个智能指针
shared_ptr<int> p2 = p1;          // 第二个智能指针

当执行p2 = p1时,会调用拷贝构造函数:

shared_ptr(const shared_ptr<T>& other)

  • other就是p1
  • const表示不能修改p1
  • &表示直接使用p1,而不是复制一份
shared_ptr<int> p1(new int(42));  // p1指向42
shared_ptr<int> p2 = p1;          // 调用拷贝构造函数
// 在拷贝构造函数中:
// other 就是 p1
// other.ptr_ 就是 p1.ptr_(指向42的指针)
// other.ref_count_ 就是 p1.ref_count_(引用计数)

2.初始化列表:

: ptr_(other.ptr_), ref_count_(other.ref_count_)

相当于

  • ptr_ = other.ptr_:复制指针
  • ref_count_ = other.ref_count_:复制引用计数
http://www.xdnf.cn/news/12122.html

相关文章:

  • Maven​​ 和 ​​Gradle​​ 依赖管理的详细说明及示例,涵盖核心概念、配置方法、常见问题解决和工具对比。
  • 最小硬件系统概念及其组成
  • 安卓后台常驻读取NFC
  • 知识蒸馏:从模型输出到深层理解
  • 论文笔记——相干体技术在裂缝预测中的应用研究
  • kafka入门学习
  • 蓝桥杯2118 排列字母
  • 10_聚类
  • llm-d:面向Kubernetes的高性能分布式LLM推理框架
  • react私有样式处理
  • Nuxt.js 入门总结教程
  • 汇编语言综合程序设计:子程序、分支与循环深度解析
  • 灾难恢复演练:数据库备份与恢复的全流程实践
  • [测试_10] Selenium IDE | cssSelector | XPath | 操作测试
  • 9.axios底层原理,和promise的对比(2)
  • BLOB 是用来存“二进制大文件”的字段类型
  • 时间获取函数
  • 制作官网水平导航栏
  • 开源供应链攻击持续发酵,多个软件包仓库惊现恶意组件
  • 捍卫低空安全!-中科固源发现无人机MavLink协议远程内存泄漏漏洞
  • 设计模式(代理设计模式)
  • 墨者学院-密码学实训隐写术第二题
  • 【C++快读快写】
  • nt!CcMapData函数分析之Loop to touch each page触发nt!MmAccessFault函数----NTFS源代码分析之四
  • 中国西部逐日1 km全天候地表温度数据集(TRIMS LST-TP;2000-2024)
  • npm run dev 报错:Error: error:0308010C:digital envelope routines::unsupported
  • UDP:简洁高效的报文结构解析与关键注意事项
  • std::conditional_t一个用法
  • [10-2]MPU6050简介 江协科技学习笔记(22个知识点)
  • MVCC机制:Undo Log版本链与ReadView机制