今日、私は 2 つの int の静的配列を作成していることに気付きました。そのインライン初期化は C++ (C++11 ではない) では許可されていないため、構造体型の静的変数の使用に戻りました。
class MyWidget {
...
static const struct Margin {
const int horizontal = 1;
const int vertical = 1;
} margin;
};
内部変数は struct Margin のすべてのインスタンスに対して 1 回しか使用されないことに気付きました。そのため、内部変数も静的にすることにしました。
class MyWidget {
...
static const struct Margin {
static const int horizontal = 1;
static const int vertical = 1;
} margin;
};
私が不思議に思うのは、静的構造体変数と静的メンバーを持つ静的構造体変数の宣言の違いです。AFAC 静的オブジェクトはメモリ内で 1 回だけ割り当てられるため、メンバーが静的であるかどうかに関係なく、Margin 構造体は 1 回だけ割り当てられます。
私は何かが恋しいですか?違いはありますか、それとも単なる構文糖衣ですか?