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

请参见

参考

CWin32Heap选件类

HeapCreate