36 lines
703 B
Markdown
36 lines
703 B
Markdown
|
|
# PoolAllocator::Reallocate
|
||
|
|
|
||
|
|
```cpp
|
||
|
|
void* Reallocate(void* ptr, size_t newSize) override;
|
||
|
|
```
|
||
|
|
|
||
|
|
内存池分配器不支持重新分配。此方法始终返回 `nullptr`,原内存块保持不变。
|
||
|
|
|
||
|
|
**参数:**
|
||
|
|
- `ptr` - 不被使用
|
||
|
|
- `newSize` - 不被使用
|
||
|
|
|
||
|
|
**返回:** 始终返回 `nullptr`
|
||
|
|
|
||
|
|
**复杂度:** O(1)
|
||
|
|
|
||
|
|
**示例:**
|
||
|
|
|
||
|
|
```cpp
|
||
|
|
#include <XCEngine/Memory/PoolAllocator.h>
|
||
|
|
|
||
|
|
PoolAllocator pool(sizeof(int), 100);
|
||
|
|
void* block = pool.Allocate();
|
||
|
|
|
||
|
|
// Reallocate 不支持
|
||
|
|
void* newBlock = pool.Reallocate(block, 256);
|
||
|
|
if (!newBlock) {
|
||
|
|
// 内存池不支持重新分配
|
||
|
|
// 原 block 仍然有效
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
## 相关文档
|
||
|
|
|
||
|
|
- [PoolAllocator 总览](pool-allocator.md) - 返回类总览
|