C
StackAllocator类
class Qul::Platform::StackAllocator为可能暂时需要额外内存进行缓存的功能提供简单的内存分配器。更多信息...
头文件 | #include <platform/alloc.h> |
自从 | Qt Quick Ultralite (平台) 1.5 |
公共类型
静态公共成员
int32_t | available() |
详细说明
StackAllocator
可能提供的内存少于请求的量,而函数应该优雅地处理这种情况。
平台库需要将静态成员变量初始化为为StackAllocator
保留的缓冲区。
m_buffer
到缓冲区的开始。m_top
到当前顶部地址。此变量必须初始化为m_buffer。m_size
到缓冲区大小(以字节为单位)。
典型的StackAllocator
初始化
#include <platform/alloc.h> static char scratch_buffer[16 * 1024]; char *StackAllocator::m_buffer = scratch_buffer; char *StackAllocator::m_top = StackAllocator::m_buffer; int32_t StackAllocator::m_size = sizeof(scratch_buffer);
典型的StackAllocator使用
#include <platform/alloc.h> Qul::Platform::StackAllocator::Allocation alloc(requestedSize); if (requestedSize == alloc.size()) { doStuff(alloc.data()); } else { error(); }
当alloc
超出作用域时,通过析构函数释放内存。
另请参见Qul::Platform::StackAllocator::Allocation。
在某些Qt许可下可用。
了解更多信息。