docs: 修正 API 文档准确性 (第二轮检查)
修复的问题: - math: 修复 Quaternion::Normalize 链接错误 - containers: HashMap 迭代器示例使用不存在的 cbegin/cend,删除冗余构造函数声明 - core: RefCounted 析构函数访问级别修正 (protected) - debug: LogLevelToString 示例返回值大小写修正 - memory: 修正 LinearAllocator::Reallocate 返回 nullptr,ProxyAllocator 统计描述,头文件路径 IAllocator.h -> Allocator.h - resources: Texture::Create mipLevels 参数描述修正 - rhi: 修复多处链接错误,新增缺失的方法文档 - threading: TaskSystem 配置项未实现状态标注,Wait 方法空实现标注
This commit is contained in:
@@ -4,13 +4,13 @@
|
||||
void* Reallocate(void* ptr, size_t newSize) override;
|
||||
```
|
||||
|
||||
在缓冲区当前位置分配新内存。此方法始终在缓冲区末尾分配新内存,而不是尝试调整现有块的大小。返回的指针可能与输入的 `ptr` 不同。如果剩余空间不足,返回 `nullptr` 且原指针保持不变。
|
||||
线性分配器不支持重新分配。此方法始终返回 `nullptr`,原内存块保持不变。由于线性分配器的顺序分配特性,无法调整现有块的大小。
|
||||
|
||||
**参数:**
|
||||
- `ptr` - 被忽略(始终分配新内存)
|
||||
- `newSize` - 新请求的字节数
|
||||
- `ptr` - 不被使用(始终返回 nullptr)
|
||||
- `newSize` - 不被使用(始终返回 nullptr)
|
||||
|
||||
**返回:** 分配成功返回新内存指针,失败返回 `nullptr`
|
||||
**返回:** 始终返回 `nullptr`
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
@@ -22,11 +22,12 @@ void* Reallocate(void* ptr, size_t newSize) override;
|
||||
LinearAllocator allocator(1024);
|
||||
void* ptr1 = allocator.Allocate(128);
|
||||
|
||||
// Reallocate 忽略原 ptr,在当前位置分配新内存
|
||||
// Reallocate 不支持,始终返回 nullptr
|
||||
void* ptr2 = allocator.Reallocate(ptr1, 256);
|
||||
|
||||
// ptr1 和 ptr2 可能相同也可能不同
|
||||
// 都不会被释放,新内存始终在缓冲区末尾分配
|
||||
if (!ptr2) {
|
||||
// 线性分配器不支持重新分配
|
||||
// ptr1 仍然有效
|
||||
}
|
||||
```
|
||||
|
||||
## 相关文档
|
||||
|
||||
Reference in New Issue
Block a user