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

51 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Array::Array()
```cpp
Array() = default;
explicit Array(size_t capacity);
Array(size_t count, const T& value);
Array(std::initializer_list<T> init);
```
构造一个 `template<typename T> XCEngine::Containers::Array<T>` 实例。
**默认构造**构造空数组不分配内存。数组初始为空容量为0。
**容量构造explicit**:预分配指定容量的内存,但不设置元素数量。适用于已知大致元素数量时减少重新分配。
**数量构造**:创建 `count` 个元素,每个元素都是 `value` 的拷贝。使用拷贝构造,不调用默认构造。
**初始化列表构造**:使用 C++ initializer_list 语法创建数组。
**参数:**
- `capacity` - 预分配的容量大小
- `count` - 元素数量
- `value` - 每个元素的初始值
- `init` - initializer_list 初始化列表
**注意:** `Array(size_t capacity)` 是 explicit 的,防止隐式转换。
**示例:**
```cpp
#include <XCEngine/Containers/Array.h>
using namespace XCEngine::Containers;
// 默认构造
Array<int> arr1;
// 预分配容量(不设置元素)
Array<int> arr2(100);
// 创建 10 个元素,初始值为 42
Array<int> arr3(10, 42);
// 使用 initializer_list
Array<int> arr4 = {1, 2, 3, 4, 5};
```
## 相关文档
- [Array 总览](array.md) - 返回类总览