# Array::Array() - 拷贝/移动构造 ```cpp Array(const Array& other); Array(Array&& other) noexcept; ``` 拷贝或移动构造一个新数组。 **拷贝构造:** - 分配与 `other` 相同容量的内存 - 拷贝 `other` 中所有元素 **移动构造:** - 接管 `other` 的所有资源(数据指针、容量、大小) - 将 `other` 置为空状态(`m_data = nullptr, m_size = 0, m_capacity = 0`) - 不拷贝、不移动任何元素数据,性能 O(1) **参数:** - `other` - 源数组 **异常:** - 拷贝构造:元素拷贝可能抛出异常 - 移动构造:`noexcept`,不抛出异常 **线程安全:** ❌ 构造期间不可并发访问 **示例:** ```cpp XCEngine::Containers::Array arr1 = {1, 2, 3}; // 拷贝构造 XCEngine::Containers::Array arr2(arr1); // arr2 = {1, 2, 3} // 移动构造 XCEngine::Containers::Array arr3(std::move(arr1)); // arr3 = {1, 2, 3} // arr1 现在为空,Size() == 0 ``` ## 相关文档 - [Array 总览](array.md) - 返回类总览