static (C++)
カテゴリ
構文
static <data definition> ;static static <function name> <function definition> ;
説明
関数内のローカル変数に記憶クラス指定子 static を使用すると、その関数が何回呼び出されても、ローカル変数には前回の値が保持されます。 static 変数はローカル変数と同じように機能しますが、その存続期間は外部変数と同じになります。
クラス内では、データとメンバ関数を static として宣言することができます。 static 指定されたデータの場合、そのコピーはクラスのすべてのオブジェクトに対して 1 つしか存在しません。
グローバル クラスの static メンバ関数は外部リンクを持っています。 ローカル クラスのメンバにはリンクがありません。 static 指定されたメンバ関数は、その関数が宣言されているクラスにのみ関連付けられます。 したがって、そのようなメンバ関数を virtual 指定することはできません。
static 指定されたメンバ関数では、static 指定された他のメンバ関数だけを呼び出すことができ、static 指定されたデータにのみアクセスすることができます。 そのようなメンバ関数には this ポインタはありません。