【发布时间】:2022-01-09 19:32:17
【问题描述】:
我需要定义一个空的类 Array 构造函数,它有一个包含参数 m 的值的参数。它需要为数组中的m个元素分配内存并用0初始化。
class Array{
protected:
int* data;
int m;
public:
Array(int m);
};
是否可以在成员初始化器列表中使用零来初始化它,或者除了在此构造函数的主体中使用 for 循环之外无法完成。我这样定义了这个构造函数:
Array::Array(int m):m(m),data(new int[m]){}
但当然它充满了内存中剩余的随机垃圾值。
【问题讨论】:
标签: c++ oop constructor initialization new-operator