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

UE TSharedPtr

文章目录

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

概述

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

TSharedPtr

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

TSharedPtr包含2部分

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

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

如下图:
FReferenceControllerBase

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

如下图:
FReferenceControllerOps

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

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

构造

空构造

构造

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

拷贝构造

在这里插入图片描述

移动构造

在这里插入图片描述

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

小结

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

http://www.lryc.cn/news/404691.html

相关文章:

  • 基于X86+FPGA+AI的远程医疗系统,支持12/13代 Intel Core处理器
  • 微信小程序开发入门指南
  • 一个非常好的美图展示网站整站打包源码,集成了wordpress和开源版ripro主题,可以完美运营。
  • MySQL:mysql的数据类型
  • IPython魔法命令的深入应用
  • Yum包下载
  • 数据结构代码
  • 环信IM x 亚马逊云科技,助力出海企业实现可靠通讯服务
  • R语言画散点图-饼图-折线图-柱状图-箱线图-直方图-等高线图-曲线图-热力图-雷达图-韦恩图(二D)
  • go中map
  • 02-用户画像-技术架构+业务划分
  • HarmonyOS应用开发者高级认证,Next版本发布后最新题库 - 单选题序号1
  • 敲详细的springboot中使用RabbitMQ的源码解析
  • 《Nginx核心技术》第04章:生成缩略图
  • Web 3.0革新:社交金融与边玩边赚开启用户数据主权时代
  • 【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 中文分词模拟器(200分) - 三语言AC题解(Python/Java/Cpp)
  • Cisco 路由重发布 —— 实现路由信息在不同路由域间的传递
  • mysql8和mysql5版本在使用mybatis框架时的注意事项
  • 为什么要有指针和引用类型?
  • vivado INTERNAL_VREF
  • VScode通过Graphviz插件和dot文件绘制层次图,导出svg
  • MMCV 核心组件分析(一):整体概述
  • 阵列信号处理学习笔记(一)--阵列信号处理定义
  • [HTML]一文掌握
  • ABAP使用SQL直接更新数据库与使用IN UPDATE TASK的区别
  • Android GWP-Asan使用与实现原理
  • SpringBoot 跨域请求处理全攻略:从原理到实践
  • vulnhub——Ai-Web1靶机渗透
  • sqlalchemy事件监听
  • 【Django+Vue3 线上教育平台项目实战】Celery赋能:优化订单超时处理与自动化定时任务调度