Files
XCSDD/docs/api/memory/pool-allocator/contains.md
ssdfasd 58a83f445a fix: improve doc link navigation and tree display
- 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
2026-03-19 12:44:08 +08:00

877 B

PoolAllocator::Contains

bool Contains(void* ptr) const;

检查给定的指针是否属于此内存池的地址范围。由于池在构造时预分配连续内存,可通过指针地址区间判断所有权。此方法用于调试和内存验证。

参数:

  • ptr - 要检查的指针

返回: 指针属于此池返回 true,否则返回 false

复杂度: O(1)

示例:

#include <XCEngine/Memory/PoolAllocator.h>

PoolAllocator pool(sizeof(int), 100);

void* inside = pool.Allocate();
void* outside = ::operator new(sizeof(int));

if (pool.Contains(inside)) {
    // inside 属于此内存池,可以安全 Free
}

if (!pool.Contains(outside)) {
    // outside 不属于此池,不能调用 pool.Free()
    ::operator delete(outside);
}

相关文档