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