# Containers 容器模块概览 **命名空间**: `XCEngine::Containers` **类型**: `module` **头文件**: `XCEngine/Core/Containers/Containers.h` **描述**: XCEngine 的容器模块,提供常用的数据结构实现。 ## 概述 Containers 模块提供了图形引擎常用的数据结构,包括动态数组、字符串和哈希表。这些容器都使用自定义内存分配器接口,支持内存跟踪和优化。 ## 模块内容 ### 容器类 | 组件 | 文件 | 描述 | |------|------|------| | [Array](array/array.md) | `Array.h` | 模板动态数组,支持自动扩容 | | [String](string/string.md) | `String.h` | 动态字符串类 | | [HashMap](hashmap/hashmap.md) | `HashMap.h` | 模板哈希表 | ## 设计特点 1. **自定义内存分配器支持** - 所有容器都支持通过 `IAllocator` 接口分配内存 2. **迭代器支持** - Array 和 HashMap 都提供 STL 风格的迭代器 3. **移动语义** - 完整支持 C++11 移动语义 4. **异常安全** - 内存分配失败时提供良好的错误处理 ## 使用示例 ```cpp #include #include #include // 使用 Array XCEngine::Containers::Array arr; arr.PushBack(1); arr.PushBack(2); arr.PushBack(3); // 使用 String XCEngine::Containers::String str; str = "Hello, "; str += "World!"; // 使用 HashMap XCEngine::Containers::HashMap map; map.Insert("key1", 100); map.Insert("key2", 200); int* value = map.Find("key1"); ``` ## 相关文档 - [Memory 模块](../memory/memory.md) - 内存分配器接口