小编Jus*_*ust的帖子

C++结构初始化全部为零

在C++中如果我以"= {}"的形式初始化结构,如下例所示,它是否确保为结构的所有成员赋值为零?我理解这似乎是重复的问题,但我的问题是,如果它对所有成员初始化为零,它是否也适用于复杂的结构?像结构中的结构一样,或者为此,每个成员必须在代码中明确赋值为零?


typedef struct s{
      int i;
      bool x;
 };

  int main ()
 {
     s initial = {};
     printf("%d %d", initial.i, initial.x);

 }
Run Code Online (Sandbox Code Playgroud)

编辑:参考复杂的结构,

typedef struct scomplex{
    s initial;
    s t[5];
 };
  int main (void)
  {
     scomplex sc = {};
     printf ("%d %d %d",sc.initial.i, sc.initial.x, sc.t[0].i);  
  }
Run Code Online (Sandbox Code Playgroud)

c++ struct initialization

2
推荐指数
2
解决办法
6146
查看次数

标签 统计

c++ ×1

initialization ×1

struct ×1