編集:明確にするために、構造体には関数がないため、構造体は何もしません。イニシャライザーリストを使用し、コンストラクターの本体を空のままにしておくことが当面の問題だと思った印象を与えたと思います。
2つの値を保持するために構造体を使用していて、次のような任意の構造体を作成できるようにコンストラクターがあるとします。
struct twoValues
{
int x;
int y;
twoValues(int x_, int y_):y(y_),x(x_)
{}
};
someFunction(twoValues(1,2));
これにより、これを行う必要がなくなります。
twoValues anInstance;
anInstance.x=1;
anInstance.y=2;
someFunction(anInstance);
編集:あなたはすべて正しいです、私は次のように初期化することもできます:
twoValues anInstance = {1,2};
これには何の問題もありませんが、C ++テストからいくつかのフィードバックがあり、否定的なフィードバックマークの1つは、「何もしない構造体のコンストラクター」でした。私は私をテストしている人との接触が限られていたので、理由を尋ねることはありませんでした。
それは悪いことですか、そしてなぜですか?私はむしろそれを続けたいと思います。