new int 和 new int()的区别

对于内置类型而言,new仅仅是分配内存,除非后面显示加(),相当于调用它的构造函数,对于自定义类型而言,只要一调用new,那么编译器不仅仅给它分配内存,还调用它的默认构造函数初始化,即使后面没有加() /*此处摘抄于大佬*/
new(多个对象)数组
new分配的对象,不管单个对象还是多个对象的分配,都是默认初始化。 但可以对数组进行值初始化,方法就是:在大小之后添加一对空括号。
1
2
int *pia = new int [ 10 ];     // 10个未初始化int
int *pia2 = new int [ 10 ](); // 10个值初始化为0的int

猜你喜欢

转载自blog.csdn.net/zwz2011303359/article/details/80871050