初始化 struct 变量

1、C 语言中的 struct

在C语言中,定义一个 struct 变量的同时不能对其(成员)进行初始化 ,即成员没有默认值。它只能在定义对象时,对对象的成员变量进行初始化。

如:

struct widget
{
    int a;
    int b;
    bool flag;
};

//one way
widget w = {0, 0, false};

//another way
/*widget w;
w.a = 0;
w.b = 0;
w.flag = false;*/
2、C++中的struct

由于在C++中,struct 其功能就是一个class,只是它的成员变量默认为public,即可以利用C++类中的初始化列表在定义struct的同时对其成员进行初始化。

如:

struct widget
{
    widget():a(0), b(0), flag(false){}
    int a;
    int b;
    bool flag;
};

你可能感兴趣的:(初始化 struct 变量)