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

C++14深度探索之C++基础-共享指针与弱指针使用

shared_ptr :

共享指针 管理多个客户使用的内存,多客户都拥有该内存块,

当共享指针不再拥有该内存时,内存会自动释放,

多用于并发领域,当所有访问该内存的线程都退出时,释放该内存

共享指针可被随意复制,与独占指针相反,独占指针不能被复制

在内存与时间上有一定的开销

可能出现的循环引用问题

当两个或多个由 shared_ptr 对象控制的资源保留有相互引用的 shared_ptr 对象时,会发生循环.

示例:

创建并使用共享指针:

//函数返回一个共享指针
shared_ptr<int> funcSharePtr() 
{//创建两个共享指针并动态分配内存shared_ptr<int> p1{ new int{} };shared_ptr<int> p2{ new int{} };//创建一个共享指针并复制另一个共享指针地址shared_ptr<int> p3 = p2;//指针复制,指针p2,p3指向同一块内存cout << "共享指针p1指向的内存地址:" << p1 << endl;cout << "共享指针p2指向的内存地址:" <&
http://www.lryc.cn/news/10464.html

相关文章:

  • 【React全家桶】reac组件通信
  • 2023,再转行去做软件测试还有前途吗?
  • Java程序API数据接口
  • 剑指offer 7 数组中和为0的三个数
  • DockerFile
  • Vue-Router 介绍及路由原理分析
  • git代码提交后jenkins构建和自动部署
  • 2023面试题目总结
  • Vue常用指令及声明周期
  • MariaDB 成功敲钟上市 | 它与 Navciat 缘起 10 年前
  • LESS模型与随机森林
  • 如何利用Power Virtual Agents机器人实现成绩查询服务
  • flavor 配置
  • 《第一行代码》 第五章:详解广播机制
  • Leetcode(每日一题)——1139. 最大的以 1 为边界的正方形
  • YOLOv5:GitHub两万八Star项目
  • 袋鼠云产品功能更新报告04期丨2023年首次,产品升级“狂飙”
  • 如何在Power Virtual Agents中使用Power Automate
  • BXC6332A第二代智能头盔方案助力电动车市场,为安全保驾护航
  • 浮点数值计算精度丢失问题剖析及解决方法
  • 字符串匹配 - 模式预处理:朴素算法(Naive)(暴力破解)
  • CVE-2021-42278 CVE-2021-42287域内提权漏洞
  • 关于IcmpSendEcho2的使用和回调问题
  • XQuery 术语
  • 会议论文分享-Security22-状态感知符号执行
  • 吴恩达深度学习笔记(八)——卷积神经网络(上)
  • 14 基数排序(桶排序)
  • 汉明距离Java解法
  • Netty服务端请求接受过程源码剖析
  • 金三银四春招特供|高质量面试攻略