37 lines
647 B
Markdown
37 lines
647 B
Markdown
|
|
# Array::Clear()
|
|||
|
|
|
|||
|
|
```cpp
|
|||
|
|
void Clear();
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
清空数组中的所有元素。
|
|||
|
|
|
|||
|
|
**行为:**
|
|||
|
|
- 调用所有元素的析构函数
|
|||
|
|
- 将 `Size()` 设为 0
|
|||
|
|
- **不释放底层内存**,`Capacity()` 保持不变
|
|||
|
|
|
|||
|
|
**线程安全:** ❌ 清空期间不可并发访问
|
|||
|
|
|
|||
|
|
**示例:**
|
|||
|
|
|
|||
|
|
```cpp
|
|||
|
|
Containers::Array<int> arr = {1, 2, 3, 4, 5};
|
|||
|
|
|
|||
|
|
arr.Size(); // 5
|
|||
|
|
arr.Capacity(); // 8(假设自动扩容到 8)
|
|||
|
|
|
|||
|
|
arr.Clear();
|
|||
|
|
|
|||
|
|
arr.Size(); // 0
|
|||
|
|
arr.Capacity(); // 8(内存未被释放)
|
|||
|
|
|
|||
|
|
// 可继续添加元素,不会重新分配内存
|
|||
|
|
arr.PushBack(10);
|
|||
|
|
arr.PushBack(20);
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 相关文档
|
|||
|
|
|
|||
|
|
- [Array 总览](array.md) - 返回类总览
|