# Array::Resize() ```cpp void Resize(size_t newSize); void Resize(size_t newSize, const T& value); ``` 调整数组大小。 **Resize(newSize):** - 如果 `newSize > Size()`:在末尾构造 `newSize - Size()` 个默认构造的元素 - 如果 `newSize < Size()`:销毁末尾多出的元素 - 如果 `newSize == Size()`:什么都不做 **Resize(newSize, value):** - 行为同上述,但扩展时使用 `value` 拷贝构造新元素,而非默认构造 **参数:** - `newSize` - 新的元素数量 - `value` - 扩展时用作填充值的元素 **复杂度:** O(n),涉及元素构造/析构和可能的内存重新分配 **线程安全:** ❌ 操作期间不可并发访问 **示例:** ```cpp XCEngine::Containers::Array arr = {1, 2, 3}; // 扩展到 5 个元素,新元素默认构造为 0 arr.Resize(5); // arr = {1, 2, 3, 0, 0} // 缩减到 2 个元素 arr.Resize(2); // arr = {1, 2} // 扩展到 4 个,填充为 -1 arr.Resize(4, -1); // arr = {1, 2, -1, -1} ``` ## 相关文档 - [Array 总览](array.md) - 返回类总览