Files
XCEngine/docs/api/memory/pool-allocator/get-free-block-count.md

41 lines
750 B
Markdown
Raw Normal View History

# PoolAllocator::GetFreeBlockCount
```cpp
size_t GetFreeBlockCount() const;
```
返回当前空闲块的的数量。每次 `Allocate` 成功后减 1每次 `Free` 后加 1。
**参数:** 无
**返回:** 当前可分配的空闲块数量
**复杂度:** O(1)
**示例:**
```cpp
#include <XCEngine/Memory/PoolAllocator.h>
PoolAllocator pool(sizeof(int), 100);
size_t initial = pool.GetFreeBlockCount(); // 100
void* blocks[10];
for (int i = 0; i < 10; ++i) {
blocks[i] = pool.Allocate();
}
size_t after = pool.GetFreeBlockCount(); // 90
for (int i = 0; i < 5; ++i) {
pool.Free(blocks[i]);
}
size_t final = pool.GetFreeBlockCount(); // 95
```
## 相关文档
- [PoolAllocator 总览](pool-allocator.md) - 返回类总览