内存分配

使用这些例程分配、释放和重新分配内存。

内存分配例程

例程 使用
_alloca_malloca 从堆栈中分配内存
calloc 为数组分配内存,从而将分配的块中的每个字节初始化为 0
_calloc_dbg calloc 的调试版本;仅在运行时库的调试版本中可用
运算符 delete 释放分配的块
运算符 [] 释放分配的块
_expand 展开或收缩内存块,而无需移动它
_expand_dbg _expand 的调试版本;仅在运行时库的调试版本中可用
free 释放分配的块
_free_dbg free 的调试版本;仅在运行时库的调试版本中可用
_freea 从堆栈中释放分配的块
_get_heap_handle 获取 CRT 堆的 Win32 HANDLE。
_heapadd 将内存添加到堆
_heapchk 检查堆的一致性
_heapmin 释放堆中未使用的内存
_heapset 使用指定值填充可用的堆条目
_heapwalk 返回有关堆中每个条目的信息
malloc 从堆中分配内存块
_malloc_dbg malloc 的调试版本;仅在运行时库的调试版本中可用
_msize 返回分配的块的大小
_msize_dbg _msize 的调试版本;仅在运行时库的调试版本中可用
new 从堆中分配内存块
new[] 从堆中分配内存块
_query_new_handler 返回由 _set_new_handler 设置的当前新处理程序例程的地址
_query_new_mode 返回指示由 _set_new_modemalloc 设置的新处理程序模式的整数
realloc 将块重新分配到新大小
_realloc_dbg realloc 的调试版本;仅在运行时库的调试版本中可用
_set_new_handler new 运算符失败(无法分配内存)时启用错误处理机制,然后启用 C++ 标准库的编译
_set_new_mode 设置 malloc 的新处理程序模式

另请参阅

按类别分的运行时例程