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

UE5.3 C++ TArray系列(一)

一.TArray概述

它们就相当于C++动态数组Vector,但是被UE封装了,懂得都懂反射嘛,要不一不小心就被回收了。

它真的非常常见,我所用的容器中,它绝对排名第一,第二是TMap。

同类好理解,我平时也常用来存储FVector 或者某个对象的指针,UOBject*或者智能指针。然后使用指针,要先处理对象,是否被垃圾回收,被UPERPERTY引用,再处理TArray里的指针。

二.创建TArray

当物质的那个分配器,就用基于堆的默认分配器,尚未分配内存。

void AWXArrayActor::InitArray()
{
	TArray<int32> IntArray1;
	TArray<int32> IntArray2;

	int32 ArrayNum = IntArray1.Num();  //数组元素个数
	int32 ArraySize = IntArray1.GetAllocatedSize(); //数组尺寸

	IntArray1.Init(10, 5);
	// IntArray == [10,10,10,10,10]
	IntArray2 = { 1,2,3,4,5,6 };

	ArrayNum = IntArray1.Num();		   	
	ArraySize = IntArray1.GetAllocatedSize();   
}

输入测试代码,一个5。指5个元素,一个是20个字节。就是5个int32(4字节)的内存空间

http://www.dtcms.com/a/31153.html

相关文章:

  • 深蕾科技智能多媒体SoC产品助力“DataEye剧查查之夜”微短剧盛会
  • Linux自启动fastapi服务
  • Docker 性能优化指南
  • HashMap 详解
  • 学习路之微服务--PHP中实现微服务几种方式
  • LangChain:AI大模型开发与分布式系统设计
  • Blaze RangePartitioning 算子Native实现全解析
  • 【C++】:奇异递归模板模式
  • 【技术笔记】Cadence 创建元器件 Pin 引脚的创建与设置
  • MYSQL-数据库-DDL-DML-DQL-DCL-基础学习
  • SQL Server 中行转列
  • 使用GitLab和GitLab-Runner建立CICD流水线
  • Unity Shader Graph 2D - Procedural程序化图形之夹心圆环
  • almaLinux8 安装rabbitmq记录
  • 【练习】【回溯:组合:不同集合】力扣 17. 电话号码的字母组合
  • 【leetcode】滑动窗口
  • JDK 8 与 JDK 21的比较,是否值得升级
  • 在 Ansys Motion 中创建链式伸缩臂的分步指南
  • 图论 之 迪斯科特拉算法求解最短路径
  • DuodooBMS源码解读之 cncw_statement模块
  • DeepSeek接入Siri(已升级支持苹果手表)完整版硅基流动DeepSeek-R1部署
  • Spring Cloud环境搭建
  • 前端(vue)学习笔记(CLASS 1):vue框架入门
  • DeepSeek大模型下半场:开源、普惠与生态重构的技术革命
  • Scala基础学习
  • c#编程:定义比较器,ArrayList使用比较器进行排序
  • 【Python项目】基于Python的病人信息管理系统
  • MFC中CString的Format、与XML中的XML_SETTEXT格式化注意
  • 重装CentOS YUM
  • AI基础:数据可视化简易入门(Matplotlib和Seaborn)