c++ 智能指针shared_ptr与make_shared

shared_ptr是C++11引入的一种智能指针,‌它允许多个shared_ptr实例共享同一个对象,‌通过引用计数来管理对象的生命周期。‌当最后一个持有对象的shared_ptr被销毁时,‌它会自动删除所指向的对象。‌这种智能指针主要用于解决资源管理问题,‌避免内存泄漏。‌

make_shared是C++标准库中的一个函数,‌用于创建一个shared_ptr智能指针,‌它接受一个或多个参数来构造一个对象,‌并返回一个指向该对象的shared_ptr。‌这个函数内部会动态分配对象,‌并初始化一个shared_ptr来管理这个对象的生命周期

 std::shared_ptr<SerialModbus> serial_modbus_ptr;

serial_modbus_ptr = std::make_shared<SerialModbus>();

serial_modbus_ptr可访问类SerialModbus的成员指针

 

---------------------------------------------------------------------------------------------------------------------------------

std::shared_ptr<SerialModbus> serial_modbus_ptr;

serial_modbus_ptr = std::shared_ptr<SerialModbus>();

serial_modbus_ptr不可访问类SerialModbus的成员指针

引发了异常: 读取访问权限冲突。
this 是 nullptr。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/876666.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

select count小坑

count(字段&#xff09;如果字段有NULL则不会统计进来&#xff0c;count(1)和count(*)则没有这个问题

警务平台app

智慧公安以大数据、云计算、人工智能、物联网和移动互联网技术为支撑&#xff0c;以“打、防、管、控”为目的&#xff0c;综合研判为核心&#xff0c;共享信息数据资源&#xff0c;融合业务功能&#xff0c;构建公安智慧大数据平台&#xff0c;实现公安信息数字化、网络化和智…

【运维自动化-配置平台】模型及模型关联最小化实践

蓝鲸智云配置平台&#xff0c;以下简称配置平台 我们知道主机是配置平台最常见的管控资源对象&#xff0c;在业务拓扑里可以通过划分模块来清晰的可视化管理&#xff1b;那其他资源如何通过配置平台来纳管呢&#xff0c;比如网络设备交换机。场景需求&#xff1a;如何把交换机…

C++ 指针各类型详细解析

文章目录 1. 内存地址 2. 指针 3. 使用指针 4. Null 指针 5. 指针的算术运算 递增一个指针 递减一个指针 指针的比较 6. 指针和数组 7. 指针数组 8. 指向指针的指针&#xff08;多级间接寻址&#xff09; 9. 传递指针给函数 1. 内存地址 通过指针&#xff0c;可以…

【前端 10】初探BOM

初探BOM&#xff1a;浏览器对象模型 在JavaScript的广阔世界中&#xff0c;BOM&#xff08;Browser Object Model&#xff0c;浏览器对象模型&#xff09;扮演着举足轻重的角色。它为我们提供了一套操作浏览器窗口及其组成部分的接口&#xff0c;让我们能够通过编写JavaScript…

QT--线程

一、线程QThread QThread 类提供不依赖平台的管理线程的方法&#xff0c;如果要设计多线程程序&#xff0c;一般是从 QThread继承定义一个线程类&#xff0c;在自定义线程类里进行任务处理。qt拥有一个GUI线程,该线程阻塞式监控窗体,来自任何用户的操作都会被gui捕获到,并处理…

Redisson中的RBlockingQueue的使用场景及例子

Redisson 的 RBlockingQueue 是一个实现了 Java BlockingQueue 接口的分布式队列&#xff0c;它可以用于在分布式系统中实现生产者-消费者模式。RBlockingQueue 提供了线程安全的阻塞队列操作&#xff0c;允许生产者在队列满时阻塞&#xff0c;消费者在队列空时阻塞&#xff0c…

【PyQt5】一文向您详细介绍 setPlaceholderText() 的作用

【PyQt5】一文向您详细介绍 setPlaceholderText() 的作用 下滑即可查看博客内容 &#x1f308; 欢迎莅临我的个人主页 &#x1f448;这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地&#xff01;&#x1f387; &#x1f393; 博主简介&#xff1a;985高校的普通…

GraphRAG:< Not supported between instances of ‘NoneType‘ and ‘int‘

GraphRAG&#xff1a;< Not supported between instances of NoneType and int 0. 错误信息1. 解决方法 0. 错误信息 使用 GraphRAG 调用 vllm 的 openai api 时&#xff0c;报错&#xff1a; Not supported between instances of NoneType and int1. 解决方法 vi /root/…

yum失效-简单配置阿里云yum源

更换阿里云yum源 最近跟很多人反馈,centos7 yum 源失效的问题,这里简单做个总结,操作步骤如下 1. 打开centos的yum文件夹输入命令进入yum 配置文件所在位置 cd /etc/yum.repos.d/ 2. 用wget下载repo文件输入命令 wget http://mirrors.aliyun.com/repo/Centos-7.repo 3. 如…

脑网络布线成本优化——从Caja守恒原则到最小化成本的探索

脑网络布线成本优化——从Caja守恒原则到最小化成本的探索 Caja守恒原则的核心作用 Caja守恒原则&#xff0c;即大脑组织的布线成本最小化原则&#xff0c;是神经科学中的一个重要概念。它指出&#xff0c;大脑在组织结构上倾向于最小化连接神经元以构成环路或网络所涉及的布…

实时目标检测神器:YOLOv5的安装与使用详解

yolov5 YOLOv5 是一种流行的目标检测算法,属于 YOLO(You Only Look Once)系列的第五代版本。 YOLO 算法以其快速和高效而闻名,在实时目标检测任务中表现出色。 关键特点: 快速检测:YOLOv5 能够实现快速的目标检测,适合需要实时处理的应用场景 单阶段检测器:与两阶段…

【MySQL】记录MySQL加载数据(LOAD DATA)

MySQL LOAD DATA 一、背景二、模拟生成用户信息三、加载到mysql表3.1、建表语句3.2 加载数据3.3、查看结果 一、背景 现在有个需求是将用户信息存入student.data文件中&#xff0c;在现在load到数据库中 二、模拟生成用户信息 假设用户信息&#xff0c;包含姓名&#xff0c;…

C++和R穿刺针吸活检肿瘤算法模型模拟和进化动力学量化差异模型

&#x1f3af;要点 &#x1f3af;模拟肿瘤细胞增生进化轨迹 | &#x1f3af;肿瘤生长的随机空间细胞自动机模型 | &#x1f3af;模拟穿刺活检的收集空间局部的肿瘤块&#xff0c;模拟针吸活检采集长而薄的组织样本 | &#x1f3af;构建不同参数模拟合成肿瘤测试集 | &#x1f…

Rust:cargo的常用命令

1.查看版本 $ cargo --version cargo 1.79.0 (ffa9cf99a 2024-06-03) 2.创建新的项目 $ cargo new hello 创建后的目录结构为 $ tree hello/ hello/ ├── Cargo.toml └── src └── main.rs 3.运行项目 $ cd hello $ cargo run Compiling hello v0.1.0 (/home/c…

opencv视频的录制

文章目录 前言一、读取视频长宽帧数二、VideoWriter类三、示例源码1. 导入头文件2. 主函数代码解析 总结 前言 本篇文章来讲解opencv视频录制技术。 一、读取视频长宽帧数 使用get函数可以获取到视频的视频长宽帧数等数据&#xff0c;分别使用CAP_PROP_FRAME_WIDTH&#xff…

LangChain--如何使用大模型

【&#x1f34a;易编橙终身成长社群&#x1f34a;】 大家好&#xff0c;我是小森( &#xfe61;ˆoˆ&#xfe61; ) &#xff01; 易编橙终身成长社群创始团队嘉宾&#xff0c;橙似锦计划领衔成员、阿里云专家博主、腾讯云内容共创官、CSDN人工智能领域优质创作者 。 LangCha…

mock单元测试相关整理

引入的依赖 <dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version> <!-- 版本号根据实际需要选择 --><scope>test</scope> <!-- 作用范围为测试阶段 --> </dep…

cf962 (Div. 3):C.sort(前缀和)

问题 给您两个长度为 &#x1d45b;n 的字符串 &#x1d44e;a 和 &#x1d44f;b 。然后&#xff0c;您(被迫)回答 &#x1d45e;q 个问题。 对于每个查询&#xff0c;你都会得到一个由 &#x1d459;l 和 &#x1d45f;r 限定的范围。在一次操作中&#xff0c;您可以选择一…

PyTorch 的各个核心模块和它们的功能

1. torch 核心功能 张量操作&#xff1a;PyTorch 的张量是一个多维数组&#xff0c;类似于 NumPy 的 ndarray&#xff0c;但支持 GPU 加速。数学运算&#xff1a;提供了各种数学运算&#xff0c;包括线性代数操作、随机数生成等。自动微分&#xff1a;torch.autograd 模块用于…