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

C++ 科目二 智能指针 [weak_ptr] (解决shared_ptr的循环引用问题)

shared_ptr引入的重复计数问题,导致内存泄漏

using namespace std;
class CFather;
class CSon;class CFather {
public:CFather(){}void Set(shared_ptr<CSon> pson){Pson = pson;}shared_ptr<CSon> Pson;
};class CSon {
public:CSon(){}void Set(shared_ptr<CFather> pfather){Pfather = pfather;}shared_ptr<CFather> Pfather;
};int main()
{CSon *pson = new CSon();CFather *pfather = new CFather();{shared_ptr<CFather> shared_father(pfather);shared_ptr<CSon> shared_son(pson);shared_father->Set(shared_son);shared_son->Set(shared_father);cout << shared_father.use_count() << endl;cout << shared_son.use_count() << endl;}cout << "It's good to see you!" << endl;return 0;
}

将CFather或者CSon的shared_ptr变成weak_ptr即可避免内存泄漏问题

相关文章:

C++ 科目二 智能指针 [weak_ptr] (解决shared_ptr的循环引用问题)

shared_ptr引入的重复计数问题&#xff0c;导致内存泄漏 using namespace std; class CFather; class CSon;class CFather { public:CFather(){}void Set(shared_ptr<CSon> pson){Pson pson;}shared_ptr<CSon> Pson; };class CSon { public:CSon(){}void Set(sha…...

解决RabbitMQ设置TTL过期后不进入死信队列

解决RabbitMQ设置TTL过期后不进入死信队列 问题发现问题解决方法一&#xff1a;只监听死信队列&#xff0c;在死信队列里面处理业务逻辑方法二&#xff1a;改为自动确认模式 问题发现 最近再学习RabbitMQ过程中&#xff0c;看到关于死信队列内容&#xff1a; 来自队列的消息可…...

【鸿蒙OH-v5.0源码分析之 Linux Kernel 部分】005 - Kernel 入口 C 函数 start_kernel() 源码分析

【鸿蒙OH-v5.0源码分析之 Linux Kernel 部分】005 - Kernel 入口 C 函数 start_kernel 源码分析 系列文章汇总:《鸿蒙OH-v5.0源码分析之 Uboot+Kernel 部分】000 - 文章链接汇总》 本文链接:《【鸿蒙OH-v5.0源码分析之 Linux Kernel 部分】005 - Kernel 入口 C 函数 start_ke…...

EndnoteX9安装及使用教程

EndnoteX9安装及使用教程 一、EndNote安装 1.1 下载 这里提供一个下载链接&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1RlGJksQ67YDIhz4tBmph6Q 提取码&#xff1a;5210 解压完成后&#xff0c;如下所示&#xff1a; 1.2 安装 双击右键进行安装 安装比较简单…...

SQL:子查询

子查询是SQL中强大的功能之一&#xff0c;它允许在一个查询内部嵌套另一个查询&#xff0c;以便处理更复杂的逻辑或数据检索需求。子查询可以用在SELECT、FROM、WHERE、HAVING、IN、ANY、ALL等子句中&#xff0c;根据使用场景和目的的不同&#xff0c;子查询可以分为多种类型。…...

C语言刷题日记(附详解)(5)

一、选填部分 第一题: 下面代码在64位系统下的输出为( ) void print_array(int arr[]) {int n sizeof(arr) / sizeof(arr[0]);for (int i 0; i < n; i)printf("%d", arr[i]); } int main() {int arr[] { 1,2,3,4,5 };print_array(arr);return 0; } A . 1…...

开源加密软件简介

开源加密软件是指源代码公开、可供任何人查看、修改和分发的加密软件。这类软件通常由社区维护&#xff0c;具有高度的透明性和安全性。 1. GnuPG (GNU Privacy Guard) 简介&#xff1a;GnuPG是一种基于OpenPGP标准的加密和签名工具&#xff0c;广泛应用于电子邮件加密和文件…...

【C++学习】 IO 流揭秘:高效数据读写的最佳实践

✨ 今朝有酒今朝醉&#xff0c;明日愁来明日愁 &#x1f30f; &#x1f4c3;个人主页&#xff1a;island1314 &#x1f525;个人专栏&#xff1a;C学习 ⛺️ 欢迎关注&#xff1a;&#x1f44d;点赞 &#x1f442;&#x1f3f…...

C#使用TCP-S7协议读写西门子PLC(五)-测试程序

上面四篇我们进行封装连接PLC以及读写PLC内存地址表 C#使用TCP-S7协议读写西门子PLC(一)-CSDN博客 C#使用TCP-S7协议读写西门子PLC(二)-CSDN博客 C#使用TCP-S7协议读写西门子PLC(三)-CSDN博客 C#使用TCP-S7协议读写西门子PLC(四)-CSDN博客 这里我们进行测试操作 西门子PLC-…...

经验——IMX6UL的uboot无法ping主机或Ubuntu

主要描述可能的方向&#xff0c;不涉具体过程&#xff0c;详细操作可以查阅网上相关教程 跟随正点原子教程测试以太网端口时&#xff0c;即便按照步骤多次尝试也无法ping通&#xff0c;后补充了些许网络工程基础知识解决了这个问题。 uboot无法ping主机或Ubuntu有多种可能&…...

AUTOSAR-规范文档版本

https://www.autosar.org/standards 2024年11月&#xff08;R24-11&#xff09; Foundation&#xff08;FO) // TODO Classic&#xff08;CP&#xff09; // TODO Adaptive&#xff08;AP&#xff09; // TODO 2023年11月&#xff08;R23-11&#xff09; Foundation&a…...

网络(四)——HTTP协议

文章目录 认识urlurlencode和urldecodeHTTP协议格式HTTP的方法HTTP的状态码HTTP常见Header 虽然应用层的协议是由人为规定的&#xff0c;但是已经有大佬们定义了一些现成的&#xff0c;又非常好用的应用层协议&#xff0c;供我们直接参考使用. HTTP(超文本传输协议)就是其中之一…...

comfyui中报错 Cmd(‘git‘) failed due to: exit code(128) 如何解决

&#x1f388;背景 comfyui今天在安装插件的过程中&#xff0c;发现有个插件第一次安装失败后&#xff0c;再次安装就开始报错了&#xff0c;提示&#xff1a; ComfyUI-Inpaint-CropAndStitch install failed: Bad Request 截图如下&#xff1a; 看下后台的报错&#xff1a; …...

测试-Gatling 与性能测试

Gatling 与性能测试详解 一、什么是性能测试&#xff1f; 性能测试是一种软件测试类型&#xff0c;旨在评估系统在负载下的响应时间、吞吐量和资源利用率等性能指标。通过性能测试&#xff0c;开发者和运维团队能够识别出系统的瓶颈、优化系统性能&#xff0c;并确保其在实际…...

ESRGAN——老旧照片、视频帧的修复和增强,提高图像的分辨率

ESRGAN&#xff08;Enhanced Super-Resolution GAN&#xff09;&#xff1a;用于提高图像的分辨率&#xff0c;将低质量图像升级为高分辨率版本&#xff0c;常用于老旧照片、视频帧的修复和增强。 一、ESRGAN 介绍 1.1 背景 超分辨率问题是计算机视觉中的一个重要研究领域&a…...

跨界融合:EasyDSS+无人机视频直播推流技术助力行业多场景应用

随着科技的飞速发展&#xff0c;无人机技术与流媒体技术的结合正逐步改变着多个行业的运作模式。其中&#xff0c;EasyDSS互联网视频云服务与无人机视频直播推流技术的结合&#xff0c;更是为警务安防、赛事直播、农业监测等多个领域带来了前所未有的变革。本文将深入探讨EasyD…...

Linux实操笔记2 Ubuntu安装Nginx的不同方法

今天来了解Ubuntu或者说Linux系统安装Nginx的几种办法。包括从Ubuntu的库安装到官方源码编译安装。 一、Nginx是什么&#xff1f; 以下是来自Nginx中文文档的内容。 Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性: 作为 Web 服务器&#xff1a;相比…...

QCustomPlot笔记(一)

文章目录 简介将帮助文档添加到Qt Creator中编译共享库cmake工程编译提示ui_mainwindow.h找不到qcustomplot.h文件 环境:windowsQt Creator 10.0.1cmake 简介 QT中用于绘制曲线的第三方工具 下载地址&#xff1a;https://www.qcustomplot.com/index.php/download 第一个压缩…...

【机器学习】多模态AI——融合多种数据源的智能系统

随着人工智能的快速发展&#xff0c;单一模态&#xff08;如文本、图像或语音&#xff09;已经不能满足复杂任务的需求。多模态AI&#xff08;Multimodal AI&#xff09;通过结合多种数据源&#xff08;如文本、图像、音频等&#xff09;来提升模型的智能和表现&#xff0c;适用…...

QT学习与数据库连接

1.基础 1. 安装最后一个非在线版本 5.14, 没有的话联系我 新建一个.cpp文件 #include <QApplication> #include <QLabel> #include <QLineEdit> #include <QPushButton> #include <QHBoxLayout> #include <QVBoxLayout> #include <Q…...

Claude in Excel:原生集成的AI表格协作者

1. 项目概述&#xff1a;这不是插件&#xff0c;是Excel里长出来的AI同事“Claude in Excel”这个标题刚看到时&#xff0c;我下意识点开几个技术社区翻了一圈&#xff0c;发现多数人第一反应是&#xff1a;“又一个AI插件&#xff1f;”——其实完全不是。它根本没走传统Offic…...

从测速到配置:一套完整的cFosSpeed网络加速保姆级教程(适用于小白)

从零开始掌握cFosSpeed&#xff1a;网络加速全流程实战指南对于经常进行在线游戏、视频会议或大文件传输的用户来说&#xff0c;网络延迟和带宽利用率低下往往是影响体验的关键痛点。cFosSpeed作为一款专业的网络流量优化工具&#xff0c;能够显著改善这些问题&#xff0c;但许…...

Agent开发面试通关攻略:吃透稳拿offer

阅读前置&#xff1a;2026年当下最卷也最缺人的AI岗位&#xff0c;一定是AI Agent开发。最近刷遍CSDN、牛客、力扣最新面经&#xff0c;发现一个非常明显的招聘趋势&#xff1a;普通大模型微调岗位饱和内卷&#xff0c;而AI Agent开发岗位人才严重缺口&#xff0c;薪资更高、竞…...

Windows10下V-REP教育版安装保姆级教程(附百度网盘资源与避坑点)

Windows10系统V-REP教育版完整安装指南&#xff1a;从下载到实战避坑在机器人仿真和自动化控制领域&#xff0c;V-REP&#xff08;现更名为CoppeliaSim&#xff09;作为一款功能强大的跨平台机器人仿真软件&#xff0c;已经成为众多工科学生和研究人员的首选工具。特别是其教育…...

skills CANN开源社区贡献技能包开发指南

前言 开源社区的健康运转&#xff0c;不仅依赖核心代码的贡献&#xff0c;还需要降低贡献门槛、提供清晰的指南和自动化工具。skills仓库是CANN开源社区的"贡献技能包"&#xff0c;提供了一系列辅助脚本、代码模板、CI检查和文档生成工具&#xff0c;帮助新手快速上…...

OmenSuperHub:释放惠普游戏本性能的纯净开源控制中心

OmenSuperHub&#xff1a;释放惠普游戏本性能的纯净开源控制中心 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 还在为官方…...

如何快速解锁中兴光猫权限:zteOnu工具完整使用指南

如何快速解锁中兴光猫权限&#xff1a;zteOnu工具完整使用指南 【免费下载链接】zteOnu A tool that can open ZTE onu device factory mode 项目地址: https://gitcode.com/gh_mirrors/zt/zteOnu 中兴光猫作为家庭网络的核心设备&#xff0c;其强大的硬件性能常常被默认…...

【Lindy营销自动化工作流终极指南】:20年实战验证的7大反脆弱性设计原则,92%企业漏掉的关键衰减阈值

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Lindy营销自动化工作流的基本范式与历史验证 Lindy效应指出&#xff0c;一个事物的预期剩余寿命与其当前年龄成正比——在营销自动化领域&#xff0c;Lindy范式体现为&#xff1a;经时间检验仍被广泛采…...

【C语言】C 语言为什么叫 C 语言呢?

【C语言】C 语言为什么叫 C 语言呢&#xff1f;笔记改自于王道训练营资料 其实是因为先有高级语言ALGOL 60&#xff0c;简称 A 语言&#xff0c;后来经过简化&#xff0c;变为 BCPL 语言&#xff0c;简称 B 语言&#xff0c;而 C 语言是在 B 语言的基础之上发展而来的&#xff…...

Arduino ADC自检:用RC电路诊断模数转换器故障

1. 项目概述&#xff1a;当你的体重秤开始“说谎”你有没有遇到过这样的情况&#xff1a;站上家里的电子体重秤&#xff0c;屏幕上跳出来的数字让你瞬间怀疑人生&#xff1f;要么是轻得离谱&#xff0c;要么是重得吓人&#xff0c;更诡异的是&#xff0c;它可能只在两个固定的、…...