int *p1=new int[10];
int *p2=new int[10]();
int *p2=new int[10]();
以上两个语句有什么区别??
int *p2 = new int[10]();
申请了空间,而且进行了初始化
int *p1 = new int[10];
只申请空间,没有进行初始化
原因:
对于一些结构体,我们可以看到()往往表示构造函数,int是基本类型算初始化
理由:
你可以测试输出两种的值
你会发现p1的值未知,而p2清零了