uec++在容器中创建对象
时间: 2024-12-17 12:25:08 浏览: 51
UE4 (Unreal Engine 4) 中使用的 C++ 编程语言不是标准的 C++,而是 Unreal所特有的虚函数表(VTable)机制和 Blueprint系统相结合的一种扩展。在 UE4 的容器如` TArray`, `FNameMap`, 或者自定义的 Blueprints 类型中创建对象通常涉及以下步骤:
1. **实例化**:首先,你需要声明一个 TContainerType 对象,比如 `TArray<YourClass>` 或 `FNameMap<YourClass>`, 其中 `YourClass` 是你想要存储的对象类型。
```cpp
TArray<YourClass> MyObjects;
```
2. **动态添加**:你可以使用容器提供的动态数组成员函数,例如 `Add()` 来在运行时创建并插入对象。
```cpp
YourClass* newObj = NewObject<YourClass>();
MyObjects.Add(newObj);
```
这里的 `NewObject<>()` 是 UE4 提供的一个工厂方法,用于在堆上动态创建一个新的对象实例。
3. **访问对象**:通过索引来访问和操作这些动态生成的对象,它们在容器内部有自己的内存位置。
```cpp
YourClass* accessedObj = MyObjects[0]; // 如果需要获取第一个元素
// 然后可以像普通指针一样操作accessedObj
```
4. **管理内存**:在使用完对象后,记得删除它以防止内存泄漏。UE4通常会自动处理这个问题,因为`NewObject<>` 返回的指针类型是智能指针,它会在适当的时候清理。
注意,尽管UE4支持C++的一些特性,但它有自己的内存管理和资源管理规则,所以在使用C++容器时要确保遵守其设计原则。
阅读全文
相关推荐

















