クラス・メンバー・リストで、ストレージ・クラス指定子 static を使用して宣言することができます。
プログラム中の 1 つのクラスのすべてのオブジェクトが、静的メンバーの 1 つのコピーのみを共用します。
静的メンバーを持つクラスのオブジェクトを宣言すると、その静的メンバーはそのクラス・オブジェクトの
一部にはなりません。
静的メンバーの一般的な使用法は、クラスの全オブジェクトに共通なデータを記録する際に使用することです。 例えば、静的データ・メンバーをカウンターとして使用して、作成された特定のクラス型のオブジェクト数を保管することができます。 新しいオブジェクトが作成されるたびに、この静的データ・メンバーを増やして、オブジェクトの総数を記録することができます。
:: (スコープ・レゾリューション) 演算子を使用してクラス名を修飾して、静的メンバーにアクセスすることができます。 次の例では、型 X のオブジェクトが宣言されていなくても、クラス型 X の 静的メンバー f() を、X::f() として参照することができます。
struct X { static int f(); }; int main() { X::f(); }
関連参照