1 回答
onemoo
TA贡献883条经验 获得超454个赞
int *p = new int();
这语句是分配一段内存,在其中以值初始化一个int类型对象,返回其指针给定义的p。 p所指的int的初值为0。
int *p = new int[];
这个语句不合语法!编译器会报错。
用new一次分配数个对象的写法是:类型后的中括号中必须写上你要分配的个数,这个数必须是一个整型常量,且不能为负。 你这样在括号中留空的写法是错的。
如果这样写: int *p = new int[5];
这语句的意思是:分配一段内存,像数组一样连续存放5个int对象,这些int是默认初始化的。对int类型来说,其初值是不确定的。返回第一个int的指针给p。
- 1 回答
- 0 关注
- 3137 浏览
添加回答
举报
0/150
提交
取消