分为两类
1.一般在栈上创建的对象被UPROPERTY标记的USTRUCT或者被UPROPERTY标记的TArray可以被垃圾回收的
2.动态创建new的USTRUCT需要你自己管理释放,UE4不会帮你释放。或者使用智能指针
虚幻引擎4中的 结构体 是引擎的反射系统,但不属于 UObject
生态圈的一部分。因此,创建它们要比在同样的数据布局中创建 UObject
更快,且支持UProperties,但无法被垃圾回收系统处理,也不能提供UFunctions。所以动态创建的对象需要自己清理。
参考资料:
1.https://www.ue4community.wiki/Legacy/Structs,_USTRUCTS(),_They%27re_Awesome#Garbage_Collection
2.https://gameinstitute.qq.com/community/detail/101085
3.https://docs.unrealengine.com/zh-CN/Programming/UnrealArchitecture/Reference/Structs/index.html