51 lines
1.3 KiB
Markdown
51 lines
1.3 KiB
Markdown
# 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/Core/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) - 返回类总览
|