CWin32Heap::CWin32Heap
构造函数。
CWin32Heap( ) throw( );
CWin32Heap(
HANDLE hHeap
) throw( );
CWin32Heap(
DWORD dwFlags,
size_t nInitialSize,
size_t nMaxSize = 0
);
参数
hHeap
现有的堆对象。dwFlags
用于创建堆的标志。nInitialSize
堆的初始大小。nMaxSize
堆的最大大小。
备注
在分配内存之前,提供 CWin32Heap 对象与有效的堆处理是必需的。 操作的最简单方式实现此目的使用处理堆:
CWin32Heap MyHeap(GetProcessHeap());
新的对象不接收堆的所有权情况下,提供现有堆的句柄。构造函数也是可能的。 当 CWin32Heap 对象被删除,原始堆处理将是有效的。
使用 CWin32Heap::Attach,现有的堆还可以附加到新的对象。
如果需要堆操作都会从一个线程的位置执行,最好的方法是创建对象如下所示:
CWin32Heap MyHeap(HEAP_NO_SERIALIZE, SomeInitialSize);
该参数 HEAP_NO_SERIALIZE 指定互斥不会使用,在堆函数分配和释放内存时,与性能的一个已同意的递增。
第三个参数默认为0,允许堆增大根据要求。 用于存储容量和标志的说明参见 HeapCreate。
要求
Header: atlmem.h