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

一.TArray概述

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

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

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

二.创建TArray

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

cpp 复制代码
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字节)的内存空间

相关推荐
疯癫的老码农34 分钟前
【word解析】Java文件解析问题排查:无法找到OMML2MML.xsl的IO异常解析
java·开发语言·spring boot·spring·maven
路弥行至1 小时前
C语言入门教程 | 第一讲:C语言零基础入门教程:第一个程序到变量运算详解
c语言·开发语言·经验分享·笔记·单片机·其他·课程设计
beijingliushao1 小时前
86-python电网可视化项目-6
开发语言·python·信息可视化·数据可视化
chenyuhao20241 小时前
vector深度求索(上)实用篇
开发语言·数据结构·c++·后端·算法·类和对象
江公望1 小时前
Qt中,Latin-1字符编码简介
开发语言·arm开发·qt
温启志c#1 小时前
winform c# 做的2个运控平台,通过修改表格 的方式,也可以通过语音识别的交互方式,更加智能。
开发语言·c#
花心蝴蝶.2 小时前
JVM 内存结构
java·开发语言·jvm
97zz2 小时前
实战排查:Java 解析 Excel 大型 导致内存溢出问题的完整解决过程
java·开发语言·spring boot·excel
小小测试开发2 小时前
Python + MediaPipe 手势绘画高级应用:从基础到创意交互
开发语言·python·交互
会跑的葫芦怪3 小时前
Go tool pprof 与 Gin 框架性能分析完整指南
开发语言·golang·gin