std::realloc
来自cppreference.com
该页由英文版wiki使用Google Translate机器翻译而来。
该翻译可能存在错误或用词不当。鼠标停留在文本上可以看到原版本。你可以帮助我们修正错误或改进翻译。参见说明请点击这里. |
在头文件 <cstdlib> 中定义
|
||
void *realloc( void *ptr, std::size_t new_size ); |
||
重新分配的内存区域。必须预先分配的
malloc()
,calloc()
或realloc()
尚未与free()
中解放出来,否则,结果是不确定的.....重新分配是通过两个办法来
a)
扩大现有的区域所指向的
ptr
,如果可能的话。最多的较小的新的和旧的尺寸无关的面积保持不变。如果该区域被扩展时,新的阵列的一部分的内容是未定义的. 原文:
expanding the existing area pointed to by
ptr
, if possible. The contents of the area remain unchanged up to the lesser of the new and old sizes. If the area is expanded, the contents of the new part of the array are undefined. b)
分配一个新的内存块的大小
new_size
字节,复制内存区域大小等于较小的新的和旧的大小,并释放旧块.原文:
allocating a new memory block of size
new_size
bytes, copying memory area with size equal the lesser of the new and the old sizes, and freeing the old block.如果没有足够的内存,旧的内存块不被释放,并返回空指针.
原文:
If there is not enough memory, the old memory block is not freed and null-pointer is returned.
目录 |
[编辑] 参数
ptr | - | 到存储区域的指针,被重新分配
原文: pointer to the memory area to be reallocated |
new_size | - | 新的数组的大小
|
[编辑] 返回值
新分配的内存或NULL开始的指针,如果发生了错误。指针必须被释放
free()
.原文:
Pointer to the beginning of newly allocated memory or NULL if error has occurred. The pointer must be deallocated with
free()
.[编辑] 示例
本章尚未完成 原因:暂无示例 |
[编辑] 另请参阅
C documentation for realloc
|