int *p1 = new int[10]; int *p2 = new int[10](); 有啥区别?

谢谢!
2025-05-06 17:13:45
推荐回答(1个)
回答1:

我的理解是
int *p2 = new int[10]();
申请了空间,而且进行了初始化

int *p1 = new int[10];
只申请空间,没有进行初始化

原因:
对于一些结构体,我们可以看到()往往表示构造函数,int是基本类型算初始化吧

理由:
你可以测试输出两种的值
你会发现p1的值未知,而p2清零了