構造体をカンタンに初期化する方法

C言語やC++で構造体を使う場合、構造体の中にたくさんのが定義されすぎてて初期化が面倒という場面はないだろうか。

例えば以下のような型の構造体がある場合、
なにも考えずに普通に初期化しようとすると変数の数だけ初期化処理を書かなきゃいけない。

struct Sample 
{
    std::string name;
    int age;
    int param1;
    double param2;
};

// 構造体定義して1つずつ初期化
Sample sample;
sample.name = "";
sample.age = 0;
sample.param1 = 0;
sample.param2 = 0.0;

変数が少ないならこのやり方でも良いが、多いと面倒。

そんな時は定義と一緒に1行で初期化できちゃうこのやり方が便利。

// 構造体を定義して、一緒に中身を0初期化
Sample sample = {0};

1行で構造体の中身が全て0初期化できるのでとってもラクチン。