首页 > 试题广场 >

关于new运算符的下列描述中,( )是错的。

[单选题]

关于new运算符的下列描述中,( )是错的。

  • 它可以用来动态创建对象和对象数组
  • 使用它创建的对象和对象数组可以使用运算符delete删除
  • 使用它创建对象时要调用构造函数
  • 使用它创建对象数组时必须指定初始值
选D,可以不指定初值,调用默认构造函数进行默认初始化就可以了。
int *x = new int();//不传值,默认初始化为0;

发表于 2017-06-14 19:33:41 回复(1)
new 不必设置初始值
发表于 2018-09-13 23:13:02 回复(0)
Hi^头像 Hi^
创建对象才可以指定初始化吧,创建对象数组怎么指定初始化。。。。
发表于 2018-01-27 10:07:43 回复(0)
调用默认构造函数不用初始化
发表于 2019-09-11 10:25:13 回复(0)
调用的时候会用构造函数?是默认的吗?
发表于 2019-03-20 23:51:14 回复(0)
B选项好像也不严格,如果使用创建的是对象数组,销毁应该用delete[]而不是delete
发表于 2018-08-09 08:46:21 回复(0)
new 对于非内部数据类型的对象而言,对象在消亡之前自动执行析构函数
发表于 2017-06-14 21:34:28 回复(0)
 选D
 不一定要初始化。例如 int* p = new int;
 *p = 5;
  在堆上申请一块空间,并没有进行初始化,后面可以再初始化。
B说的是使用运算符delete,所以应该对着。
发表于 2017-06-14 15:36:06 回复(1)
数组用 delete [] 吧,B也是错的
发表于 2017-06-14 11:25:28 回复(0)