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

相关推荐
gCode Teacher 格码致知2 小时前
Pandas教学-17:Series与Dataframe的关系
开发语言·python·pandas
发量惊人的中年网工2 小时前
分公司访问总部ERP慢怎么办?SD-WAN组网的排查与验收要点
服务器·开发语言·php
下页、再停留2 小时前
【C#桌面客户端系列学习-15】生成可视化图表之折线图、柱状图、饼状图
开发语言·c#
ShineWinsu2 小时前
对于JavaScript:操作元素的解析
开发语言·前端·javascript·面试·web·dom·元素
益莱储中国4 小时前
深度解析:RF 实验室从 5G迈向 6G 的过程中保持技术领先与设备升级的路径
开发语言·php
丰色木夕4 小时前
Ubuntu22.04下源码编译安装USD-Brep
c++·ubuntu·nvidia·usd-brep
benchmark_cc5 小时前
Python 量化系统如何设计统一的数据访问接口:从策略解耦到数据层架构
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
const_qiu5 小时前
第四章 00:开篇 —— 从「会聊天」到「记得住、会干活、能协作」
java·开发语言·人工智能·python
Wang's Blog5 小时前
Java 项目实战: 交友项目 - 个人资料管理的更新接口实现与坑
java·开发语言·交友
CoderYanger5 小时前
Java EE 进阶:4.Spring Web MVC 入门(第一弹)
java·开发语言·前端·spring·面试·java-ee·mvc