下面描述正确的是
1
2
int *p1 = new int[10]; 
int *p2 = new int[10]();

正确答案: C   你的答案: D (错误)

p1和p2申请的空间里面的值都是随机值
p1和p2申请的空间里的值都已经初始化
p1申请的空间里的值是随机值,p2申请的空间里的值已经初始化
p1申请的空间里的值已经初始化,p2申请的空间里的值是随机值

 

析:对于内置类型而言,new仅仅是分配内存,除非后面显示加(),相当于调用它的构造函数,对于自定义类型而言,只要一调用new,那么编译器不仅仅给它分配内存,还调用它的默认构造函数初始化,即使后面没有加()

 posted on 2017-10-12 17:38  加油!!!  阅读(181)  评论(0)    收藏  举报