- containers: 修正 Containers.h, Array.h, String.h, HashMap.h 的路径为 Core/Containers/ - rhi: 修正 D3D12 和 OpenGL 后端文档路径
1.9 KiB
1.9 KiB
Array
命名空间: XCEngine::Containers
类型: class (template)
头文件: XCEngine/Core/Containers/Array.h
描述: 模板动态数组容器,提供自动扩容的数组实现。
概述
Array<T> 是一个模板动态数组容器,提供了类似 std::vector 的功能,但针对游戏引擎进行了优化。
类型别名
| 别名 | 类型 | 描述 |
|---|---|---|
Iterator |
T* |
迭代器类型 |
ConstIterator |
const T* |
常量迭代器类型 |
公共方法
| 方法 | 描述 |
|---|---|
| Constructor | 构造数组实例 |
| Copy/Move Constructor | 拷贝或移动构造 |
| Destructor | 析构函数 |
| operator= | 赋值运算符 |
| operator[] | 下标访问 |
| Data | 获取原始数据指针 |
| Front/Back | 获取首/尾元素引用 |
| Size/Capacity/Empty | 获取尺寸信息 |
| Clear | 清空所有元素 |
| Reserve | 预留容量 |
| Resize | 调整大小 |
| PushBack | 尾部添加(拷贝/移动) |
| EmplaceBack | 就地构造尾部添加 |
| PopBack | 尾部移除 |
| begin/end | 获取迭代器 |
| SetAllocator | 设置内存分配器 |
使用示例
#include <XCEngine/Core/Containers/Array.h>
// 基本用法
XCEngine::Containers::Array<int> arr;
arr.PushBack(1);
arr.PushBack(2);
arr.PushBack(3);
// 使用 initializer_list
XCEngine::Containers::Array<int> arr2 = {1, 2, 3, 4, 5};
// 迭代
for (auto& elem : arr) {
printf("%d\n", elem);
}
// 使用 EmplaceBack
arr.EmplaceBack(4);