- Fix link resolution with proper relative/absolute path handling - Improve link styling with underline decoration - Hide leaf nodes from tree, only show directories - Fix log file path for packaged app
41 lines
750 B
Markdown
41 lines
750 B
Markdown
# 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) - 返回类总览
|