C ++中未初始化结构数组元素的初始值

时间:2016-11-20 00:20:11

标签: c++ arrays visual-c++ struct

如果我有一个由一个类的两个对象组成的结构,并且我创建了一个结构的数组,而没有初始设置对象的值为,那么该数组中将包含什么?它是否使用该结构的默认构造函数创建结构?

我的具体示例要求我递归地使用数组的最后一个元素来确定数组的下一个元素是什么,并且我需要最初设置为默认构造函数提供的所有元素。

我正在创建的数组以及我声明它的方式是:

s arrayname [5];

我的结构基本上是:

struct s{
    Vectorh a, b;

    s();
}

其中Vectorh是一个包含四个double值的类,还有很多函数。我在这个结构中也有一个默认构造函数,定义为:

s(){
    a = Vectorh();             // Vectorh() creates a Vectorh with all components set
    b = Vectorh();             // to (double)0
}

最后,Vectorh被定义为:

class Vectorh{
    double x, y, z, w;
}

使用构造函数

Vectorh(double a, double b, double c){
    x = a;
    y = b;
    z = c;
    w = (double)0;
}
Vectorh(){
    x = (double)0;
    y = (double)0;
    z = (double)0;
    w = (double)0;
}

编辑:链接的问题根本没有说明空初始化。它只讨论了元素的初始化。

0 个答案:

没有答案