D-programming-static-members
提供:Dev Guides
Dプログラミング-クラスの静的メンバー
staticキーワードを使用して、クラスメンバー static を定義できます。 クラスのメンバーを静的として宣言すると、クラスのオブジェクトがいくつ作成されても、静的メンバーのコピーは1つしかありません。
静的メンバーは、クラスのすべてのオブジェクトによって共有されます。 他の初期化が存在しない場合、最初のオブジェクトが作成されると、すべての静的データはゼロに初期化されます。 それをクラス定義に入れることはできませんが、スコープ解決演算子::を使用して静的変数を再宣言することにより、クラスの外側で初期化できます。
私たちは、静的データメンバーの概念を理解するために、次の例を試してみましょう-
上記のコードをコンパイルして実行すると、次の結果が生成されます-
静的関数メンバー
関数メンバーを静的として宣言することにより、クラスの特定のオブジェクトから独立させます。 クラスのオブジェクトが存在せず、クラス名とスコープ解決演算子::のみを使用して static 関数にアクセスする場合でも、静的メンバー関数を呼び出すことができます。
静的メンバー関数は、静的データメンバー、他の静的メンバー関数、およびクラス外からのその他の関数にのみアクセスできます。
静的メンバー関数にはクラススコープがあり、クラスの this ポインターにアクセスできません。 静的メンバー関数を使用して、クラスのオブジェクトが作成されているかどうかを判断できます。
静的関数メンバーの概念を理解するために、次の例を試してみましょう-
上記のコードをコンパイルして実行すると、次の結果が生成されます-