UE TSharedPtr

文章目录

  • 概述
    • TSharedPtr
    • TSharedPtr包含2部分
  • 构造,析构,拷贝构造,移动构造
    • 构造
    • 拷贝构造
    • 移动构造
  • 小结

概述

之前写过一篇c++的智能指针的,这篇写下ue的。本质上来说是差不多的,可以简单看看。

TSharedPtr

如下图:
底层构成
这个就是一个类,2个参数,第二个参数支持线程安全。

TSharedPtr包含2部分

如下图:
在这里插入图片描述
TSharedPtr主要包含2个部分,一个是对应类模板的对象,另外一个是支持计数的。然后底层用c++的方式实现了,来看下;

如下图:
FSharedReferencer
要看具体的,还要往底层看;

如下图:
FReferenceControllerBase

再来看看具体的增加和减少计数器的位置,

如下图:
FReferenceControllerOps

构造,析构,拷贝构造,移动构造

写完计数器,开始写下边的了。也就是一个类最基本的那些了。放到TSharedPtr这个类模版里,如下:

构造

空构造

构造

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

拷贝构造

在这里插入图片描述

移动构造

在这里插入图片描述

当然,每个里边都有很多形式,不一一列举。只是举了几个例子,有兴趣,可以自己去看看。还有一些操作符,
如下图:
在这里插入图片描述
在这里插入图片描述

小结

看过这个,对于TSharedPtr,应该是知道怎么回事了。有时间再去看看TWeakPtr,TUniquePtr,一步一步来分析,看看到底有什么好玩的东西。OK,结束。

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

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

相关文章

基于SpringBoot+Vue的篮球竞赛预约平台(带1w+文档)

基于SpringBootVue的篮球竞赛预约平台(带1w文档) 基于SpringBootVue的篮球竞赛预约平台(带1w文档) 本系统提供给管理员对首页,个人中心,用户管理,项目分类管理,竞赛项目管理,赛事预约管理,系统管理等诸多功…

2-40 基于Matlab编写的3维FDTD(时域有限差分算法)计算了球的RCS经典散射问题

基于Matlab编写的3维FDTD(时域有限差分算法)计算了球的RCS经典散射问题,采用PEC作边界,高斯波束激励。程序已调通,可直接运行。 2-40 3维FDTD 时域有限差分算法 - 小红书 (xiaohongshu.com)

Meta Quest3 激活更新不动的问题

1. Meta Quest3激活过程中遇到更新不动的情况,如下图所示: 2. 关机 3. 开机检查连接的wifi,是否存在受限的情况,如果存在受限情况,则说明当前的mofa只支持TCP,需要设置支持UDP模式。 具体操作是设置魔法…

细节决定成败:电商详情页全攻略

电子商务产品细节页面作为电子商务信息的主要承载页面,也是电子商务业务转型的主要战场。因此,商业详细页面的设计和规划是电子商务产品设计的核心,承担着转化率,甚至是产品设计的KPI。 电子商务作为传统商品交易在互联网领域的表…

探究比表面积测试的方法、仪器与原理-测试狗

探究比表面积测试的方法、仪器与原理 比表面积是指单位质量物质所具有的表面积,它是衡量物质性能的重要参数之一。比表面积测试在材料科学、环境保护、化工等领域具有广泛的应用。比表面积测试方法多样,仪器各异,下面测试狗就为大家介绍一些比…

Windows版MySQL5.7解压直用(如何卸载更换位置重新安装)

文章目录 停止mysql进程及服务迁移整个mysql文件夹删除data重启计算机重新安装 停止mysql进程及服务 net stop mysql mysqld -remove mysql迁移整个mysql文件夹 删除data 重启计算机 shutdown -r -t 0重新安装 https://blog.csdn.net/xzzteach/article/details/137723185

Linux_线程的同步与互斥

目录 1、互斥相关概念 2、代码体现互斥重要性 3、互斥锁 3.1 初始化锁 3.2 申请、释放锁 3.3 加锁的思想 3.4 实现加锁 3.5 锁的原子性 4、线程安全 4.1 可重入函数 4.2 死锁 5、线程同步 5.1 条件变量初始化 5.2 条件变量等待队列 5.3 唤醒等待队列…

视觉网络的有效调制

摘要 链接:https://arxiv.org/pdf/2403.19963 在这项工作中,我们提出了高效调制(EfficientMod),这是一种用于高效视觉网络的新型设计。我们重新审视了调制机制,该机制通过卷积上下文建模和特征投影层处理输…

Java并发(三)Java并发核心机制

J.U.C 简介 Java 的 java.util.concurrent 包(简称 J.U.C)中提供了大量并发工具类,是 Java 并发能力的主要体现(注意,不是全部,有部分并发能力的支持在其他包中)。从功能上,大致可以…

Spring Boot 日志 (初级)

什么是日志呢?其实就是一条条的打印语句,我们就可以根据打印出来的日志,去分析程序存在的问题等。虽然作为后端开发人员,日志并不是那么重要,但是在学习的过程中,也是比较重要的,可以使用在我们…

[Spring] Spring配置文件

🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏: 🧊 Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 🍕 Collection与…

主流大数据调度工具DolphinScheduler之数据采集

今天继续给大家分享主流大数据调度工具DolphinScheduler,以及数据的ETL流程。 一:调度工具DS 主流大数据调度工具DolphinScheduler, 其定位:解决数据处理流程中错综复杂的依赖关系 任务支持类型:支持传统的shell任…

数据结构之字符串的最长公共子序列问题详解与示例(C,C++)

文章目录 1、最长公共子序列定义2、动态规划解法3、状态转移方程初始化构建最长公共子序列 4、C 和 C 实现示例C 语言实现C 语言实现 5、总结 字符串的最长公共子序列(Longest Common Subsequence, LCS)是计算机科学中的一个经典问题,属于动态…

接口开发:Orcal数据库的批量新增sql

场景:在日常的CURD中一定会用到批量新增。在我们的项目中,使用的数据库是Orcal,由于之前基本都是使用Mysql的,使用的sql语句也基本都是用mysql的。但是在这次的接口编写时用mysql的批量新增出了问题,刚开始我还以为是写…

[MySQL]02 存储引擎与索引,锁机制,SQL优化

Mysql存储引擎 可插拔式存储引擎 索引是在存储引擎底层上实现的 inno DB MySQL默认存储引擎: inno DB高可靠性和高性能的存储引擎 DML操作遵循ACID模型支持事务行级锁,提高并发访问性能支持外键 约束,保证数据完整性和可靠性 MySAM MySAM是MySQL的早期引擎 特点: 不支持事…

安装 VMware vSphere vCenter 8.0

安装 VMware vSphere vCenter 8.0 1、运行安装程序 2、语言选择中文 3、点下一步 4、接受许可协议,点下一步 5、填写部署vCenter服务的ESXI主机IP地址以及对应ESXI主机的账号密码,这里将vCenter服务部署在192.168.1.14这台ESXi主机上 6、接受证书警告 7…

自动化测试中如何应对网页弹窗的挑战!

在自动化测试中,网页弹窗的出现常常成为测试流程中的一个难点。无论是警告框、确认框、提示框,还是更复杂的模态对话框,都可能中断测试脚本的正常执行,导致测试结果的不确定性。本文将探讨几种有效的方法来应对网页弹窗的挑战&…

21k star 开源项目,让模糊图像秒变高清!

不知道大家有没有遇到这样的需求:电脑里有一些很久之前保存的好看的图片,但是因为分辨率不高,当做壁纸使用会变得模糊。或者是从网上下载的需要使用的图片,找不到更高清的版本导致使用效果不好。之前分享过基于 Real-ESRGAN 算法修…

Redis中的哨兵(Sentinel)

上篇文章我们讲述了Redis中的主从复制(Redis分布式系统中的主从复制-CSDN博客),本篇文章针对主从复制中的问题引出Redis中的哨兵,希望本篇文章会对你有所帮助。 文章目录 一、引入哨兵机制 二、基本概念 三、主从复制的问题 四、哨…

php相关

php相关 ​ 借鉴了小迪安全以及各位大佬的博客,如果一切顺利,会不定期更新。 如果感觉不妥,可以私信删除。 默认有php基础。 文章目录 php相关1. php 缺陷函数1. 与2. MD53. intval()4. preg_match() 2. php特性1. php字符串解析特性2. 杂…