new分配内存时是否已经将分配的内存格式化了

来源:百度知道 编辑:UC知道 时间:2024/06/05 15:33:28
比如为类、结构体开辟新单元时,
还有一个问题,用new(int)可以,但是用new(4)或者先用变量存储int的长度再new(i)都会报错
能讲详细点儿吗

new分配内存时是否已经将分配的内存格式化了
可以理解为格式化,是指定一段内存绐某个类型存放内容

你要明白,电脑和人一样,你要有目的去做。

例如 int *i;
i=new(int); //分配一个int变量空间绐i
i=new(4); //电脑不知道这个4是int还是char int(i)也一样

用new在堆上分配内存,只能加上类型名,用来对应你的指针变量,
我试了一下用别的都不行,应该系统 不能确定你的意图,
还有用new分配时,你不赋值就没有初始化。是一个很大的负数。
在以语言中好像是可以的,可能在c++加上了对这个检测吧。。

1.首先,没有格式化。
2.new后面接的是指针或者数据类型。

int *p = new int[4];
这样才行。

http://www.crazycoder.cn/WebServer/Article25067.html
这儿写的挺详细的,你看看吧