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字节)的内存空间

相关推荐
毕设源码-邱学长3 小时前
【开题答辩全过程】以 基于Java的公职备考在线学习系统的设计与实现为例,包含答辩的问题和答案
java·开发语言·学习
水天需0103 小时前
C++ 三种指针转换深度解析
c++
二川bro3 小时前
模型部署实战:Python结合ONNX与TensorRT
开发语言·python
联系QQ:276998853 小时前
电化学与冷启动仿真的赝电容计算及GITT扩散系数研究——阻抗分析拟合与全电池电容器性能评估
开发语言
言言的底层世界4 小时前
c++中STL容器及算法等
开发语言·c++·经验分享·笔记
Mr_WangAndy4 小时前
C++17 新特性_第一章 C++17 语言特性___has_include,u8字符字面量
c++·c++40周年·c++17新特性·__has_include·u8字面量
liu****4 小时前
八.函数递归
c语言·开发语言·数据结构·c++·算法
韭菜钟4 小时前
在Qt中使用QuickJS
开发语言·qt
Vanranrr4 小时前
C++临时对象与悬空指针:一个导致资源加载失败的隐藏陷阱
服务器·c++·算法
β添砖java5 小时前
python第一阶段第六章python数据容器
开发语言·python