C++におけるstaticの用途

C++ では、static には次のような働きがあります。

  1. 静的変数: 静的変数を宣言すると、変数はプログラムの存続期間中存在し、1回だけ初期化され、関数呼び出しで値は保持されます。静的変数は関数の外部で定義され、同じファイル内の他の関数からアクセスできます。
  2. 静的関数とは、そのファイル内でのみ参照できるもので、他のファイルからは呼び出せない関数のことです。静的関数は主に、関数の内部の実装を隠し、インターフェイスのみを他のファイルに公開するために使用されます。
  3. 静的クラスメンバーは、クラスのすべてのオブジェクトで共有されるメンバーであり、クラスのどのオブジェクトにも属しません。静的メンバーは、クラスの外側で定義され、初期化され、クラス名とスコープ解決演算子::を使用してアクセスできます。
  4. 静的クラス:静的クラスは静的メンバのみを持ち、オブジェクトとしてはインスタンス化できず、クラス名およびスコープ解決演算子を使用してアクセスできます。
  5. 静的ローカル変数: 関数内で宣言された静的ローカル変数は、初期化が一度だけ行われ、関数を呼び出すたびにその状態は保持されます。静的ローカル変数は、関数呼び出し間で状態情報を保持する場合に用いられます。

静的変数は、コンパイル時にメモリ領域が決まり、通常の変数とは異なるライフサイクルと有効範囲を持つことに注意してください。

bannerAds