读书人

关于new 动态分配内存的有关问题

发布时间: 2012-10-20 14:12:48 作者: rapoo

关于new 动态分配内存的问题
void *vp=new void[10];
为什么不允许呢?这样不就是分配四十个字节的内存吗?

[解决办法]
void * 无类型指针 new需要知道长度,所以计算不出需要malloc多少内存

[解决办法]

void 无类型……就无法确定占用的内存
[解决办法]
记得 void 是 空 的意思,什么都不是,
但是 这样 是合法的,
void *vp=new void*[10];
对于new 而言,每个元素的大小就知道了,是 指针的大小,
[解决办法]

探讨

引用:
嗯,不是的。void类型并不指定占内存的字节数。void类型的数据不是占四个字节的内存。
是占四个啊,void *vp;cout<<sizeof(vp);输出为4

读书人网 >C++

热点推荐