正确初始化具有其他结构和数组的C ++结构的方法

时间:2013-12-04 20:06:32

标签: c++ arrays struct initialization

我有以下代码,我需要初始化XYZ结构。请给我一个方法来做到这一点。

struct Demo
{
    int abc[10];
    int reply_port;
};

struct XYZ 
{
    struct Demo dem[10];
    int x;
    int y;
    struct Demo a;
    struct Demo b;
    struct Demo c;
} arr[100];

Demo1是另一个struct,可在其他文件中找到。请告诉我一个有效的方法来初始化这个结构XYZ

由于

3 个答案:

答案 0 :(得分:2)

我不知道你为什么要这样做,但如果你坚持:

  struct XYZ myXYZ = { 
    {   
      // dem[10]
      {{1,2,3,4,5,6,7,8,9,10},80},
      {{1,2,3,4,5,6,7,8,9,10},80},
      {{1,2,3,4,5,6,7,8,9,10},80},
      {{1,2,3,4,5,6,7,8,9,10},80},
      {{1,2,3,4,5,6,7,8,9,10},80},
      {{1,2,3,4,5,6,7,8,9,10},80},
      {{1,2,3,4,5,6,7,8,9,10},80},
      {{1,2,3,4,5,6,7,8,9,10},80},
      {{1,2,3,4,5,6,7,8,9,10},80},
      {{1,2,3,4,5,6,7,8,9,10},80}
    },  
    10, // x
    20, // y
    {{1,2,3,4,5,6,7,8,9,10},80}, // a
    {{1,2,3,4,5,6,7,8,9,10},80}, // b
    {{1,2,3,4,5,6,7,8,9,10},80}  // c
  };

我会考虑以不同的方式进行设计,但我不知道你要解决的是什么问题。

答案 1 :(得分:1)

初始化为全0

XYZ xyz = {};

没有初始化:http://ideone.com/wE7MCF→未定义的行为

初始值:http://ideone.com/BT81PH→全0

答案 2 :(得分:0)

你为什么不上课?在类中,您可以定义参数化构造函数。

或者您只想使用结构吗?