Files
XCEngine/docs/api/containers/array/constructor.md

51 lines
1.3 KiB
Markdown
Raw Normal View History

# Array::Array()
```cpp
Array() = default;
explicit Array(size_t capacity);
Array(size_t count, const T& value);
Array(std::initializer_list<T> init);
```
2026-03-20 02:35:01 +08:00
构造一个 `template<typename T> XCEngine::Containers::Array<T>` 实例。
2026-03-20 02:35:01 +08:00
**默认构造**构造空数组不分配内存。数组初始为空容量为0。
2026-03-20 02:35:01 +08:00
**容量构造explicit**:预分配指定容量的内存,但不设置元素数量。适用于已知大致元素数量时减少重新分配。
**数量构造**:创建 `count` 个元素,每个元素都是 `value` 的拷贝。使用拷贝构造,不调用默认构造。
**初始化列表构造**:使用 C++ initializer_list 语法创建数组。
**参数:**
- `capacity` - 预分配的容量大小
- `count` - 元素数量
- `value` - 每个元素的初始值
- `init` - initializer_list 初始化列表
2026-03-20 02:35:01 +08:00
**注意:** `Array(size_t capacity)` 是 explicit 的,防止隐式转换。
**示例:**
```cpp
#include <XCEngine/Core/Containers/Array.h>
2026-03-20 02:35:01 +08:00
using namespace XCEngine::Containers;
// 默认构造
2026-03-20 02:35:01 +08:00
Array<int> arr1;
// 预分配容量(不设置元素)
2026-03-20 02:35:01 +08:00
Array<int> arr2(100);
// 创建 10 个元素,初始值为 42
2026-03-20 02:35:01 +08:00
Array<int> arr3(10, 42);
// 使用 initializer_list
2026-03-20 02:35:01 +08:00
Array<int> arr4 = {1, 2, 3, 4, 5};
```
## 相关文档
- [Array 总览](array.md) - 返回类总览