level 6
毁灭者andy
楼主
如图,图二说动态分配数组无法为其元素设定初值,图一反之,那个是
正确的
??网上说动态分配数组时,如果数组元素具有类类型,将使用该类的默认构造函数实现初始化;如果数组元素是内置类型,则无初始化。
string *psa=new string [10];
int *pia=new int [10];
这两个new表达式都分配了10个对象的数组,第一个数组是string类型,分配了存储对象的空间后,会调用string类型的默认构造函数依次初始化数组中的每个元素。第二个数组为内置类型,分配了存储10个int对象的内从空间,并没 初始化。
可以跟在数组后面加一对空圆括号,对数组元素进行初始化。
谢谢大佬



2018年08月21日 14点08分
1
正确的
??网上说动态分配数组时,如果数组元素具有类类型,将使用该类的默认构造函数实现初始化;如果数组元素是内置类型,则无初始化。
string *psa=new string [10];
int *pia=new int [10];
这两个new表达式都分配了10个对象的数组,第一个数组是string类型,分配了存储对象的空间后,会调用string类型的默认构造函数依次初始化数组中的每个元素。第二个数组为内置类型,分配了存储10个int对象的内从空间,并没 初始化。
可以跟在数组后面加一对空圆括号,对数组元素进行初始化。
谢谢大佬


