关于new分配空间时size = 0
如题
最近遇到了这个问题,不知道这个size为零的情况,给分配空间吗?
我自己做的程序测试没有报错.
linux C++;
int *pInt = new(int[0]);
if(NULL == pInt)
{
fprintf(stderr,"new pInt memory failure\n");
}
printf("pInt = %d ; pIntsize =%d ; *pInt = %p\n", *pInt , sizeof(pInt), pInt);
结果
pInt = 0 ; pIntsize =4 ; *pInt = 0x82b1008
这个内存地址可以用吗?大小是0啊?
最近遇到了这个问题,不知道这个size为零的情况,给分配空间吗?
我自己做的程序测试没有报错.
linux C++;
int *pInt = new(int[0]);
if(NULL == pInt)
{
fprintf(stderr,"new pInt memory failure\n");
}
printf("pInt = %d ; pIntsize =%d ; *pInt = %p\n", *pInt , sizeof(pInt), pInt);
结果
pInt = 0 ; pIntsize =4 ; *pInt = 0x82b1008
这个内存地址可以用吗?大小是0啊?
...全文
相关推荐
用位示图管理磁盘空间的分配与回收
new BitSet(totalBlocks); } // 分配磁盘空间 public int allocate() { for (int i = 0; i < diskBitmap.size(); i
C语言动态分配内存的介绍
例如,在上面的代码中,我们使用 calloc 函数分配了 M 个整形的空间,并将其初始化为 0:```cint* pc = (int*)calloc(M, sizeof(int));```realloc
cpp代码-顺序表动态分配
本知识点将深入探讨C++中实现顺序表动态分配的方法,以及如何通过`main.cpp`文件进行操作。顺序表动态分配的关键在于使用指针动态地在内存中开辟空间来存储数据。
cpp代码-顺序表的动态分配
在编程领域,尤其是C++语言中,顺序表的动态分配是一种常见的数据结构实现方式。顺序表是指元素在内存中按照线性顺序排列的数组结构,而动态分配则是指在程序运行时根据需要分配和释放内存空间的过程。
c++动态内存空间示例(自定义空间类型大小和空间长度)
= new int[size];```在这段代码中,首先通过标准输入流 `cin` 获取用户输入的数组长度,并将其存储在变量 `size` 中。


