虚幻引擎结构之TArray

1.TArray 简介

TArray 是虚幻引擎提供的一个动态数组容器,用于存储相同类型的元素集合。它是一个模板类,能够容纳任意类型的数据,为用户提供了一套简便的方法来添加、删除、访问和操作数组中的元素。作为虚幻引擎的核心数据结构之一,TArray 与引擎的其他组件紧密集成,提供了高性能的操作和便捷的接口。

2.TArray 的作用

TArray 类似于 C++ 标准库中的 std::vector,但它经过了专门的设计以适应虚幻引擎的需求。TArray 使用连续内存块来存储元素,这有助于提高缓存命中率和访问速度。当需要扩展容量时,TArray 会分配新的内存块并将现有元素复制过去,保证了元素在内存中的连续性,这对于性能至关重要。

3.TArray的注意

当TArray需要重新分配内存以扩展容量时,它确实会释放原有的内存空间。但如果TArray中存储的是指针或具有指针成员的对象,TArray不会自动管理这些指针指向的内存,也就是说,TArray不会负责释放这些指针指向的对象

4.TArray的结构

template<typename InElementType,typename InAllocator>
class TArray
{
  //核心成员变量
  ElementAllocatorType AllocatorInstance; 
  SizeType             ArrayNum;          //sizetype通常为int32类型 
  SizeType             ArrayMax;
}

AllocatorInstance 表示TArray分配的内存器实例 即数组容器首地址(数组指针)

ArrayNum表示TArray当前包含的元素数量

ArrayMax表示TArray的内部数组能容纳的最大元素数量

5.TArray的定位

定位到"Actors" 就可以拿到虚幻引擎中所有AActor的实例

1.根据TArray成员中ArrayNum进行分析

2.根据虚幻引擎结构 进行分析 -> 根据结构进行分析

相关推荐
虾球xz6 小时前
游戏引擎学习第118天
学习·游戏引擎
不吃斋的和尚11 小时前
Unity中一个节点实现植物动态(Shader)
unity·游戏引擎
虾球xz13 小时前
游戏引擎学习第117天
学习·游戏引擎
千年奇葩14 小时前
Unity shader glsl着色器特效之 模拟海面海浪效果
unity·游戏引擎·着色器
太妃糖耶17 小时前
Unity摄像机与灯光相关知识
unity·游戏引擎
程序趣谈1 天前
UE5中按钮圆角,设置边框
ue5·游戏引擎
龚子亦1 天前
Unity结合Vuforia虚拟按键实现AR机械仿真动画效果
unity·游戏引擎·ar·数字孪生·虚拟仿真
虾球xz1 天前
游戏引擎学习第115天
学习·游戏引擎
虾球xz1 天前
游戏引擎学习第116天
java·学习·游戏引擎
虾球xz2 天前
游戏引擎学习第114天
学习·游戏引擎