C++のstaticキーワードの役割は何ですか?

C++で、staticキーワードは、適用されるコンテキストによって異なる機能を持つ。

  1. グローバルコンテキストで、staticキーワードは変数や関数のスコープを制限するために使用されます。staticキーワードがグローバル変数に使用されると、その変数のスコープは現在のソースファイルに制限され、他のファイルからアクセスすることができません。staticキーワードがグローバル関数に使用されると、その関数のスコープは現在のソースファイルに制限され、他のファイルから直接呼び出すことはできません。
  2. クラスの文脈において、staticキーワードはクラスの静的メンバーを示すために使用されます。静的メンバーはすべてのクラスのオブジェクトで共有されるため、各オブジェクトが独自のコピーを持つのではなく、共有されます。静的メンバーには静的変数または静的関数が含まれます。静的変数はメモリ内に1つのコピーだけがあり、すべてのオブジェクトで共有されます。静的関数は、オブジェクトインスタンスを作成する必要なく、クラス名を使用して直接呼び出すことができます。
  3. 関数のコンテキストで、staticキーワードは関数の寿命がプログラムの寿命と同じであることを示すために使用されます。一度関数が静的に宣言されると、それはプログラムの実行全体で存在し、関数が呼び出されるたびに作成および破棄されるのではなくなります。 静的関数は静的変数にしかアクセスできません。

要总结一下,C++中的static关键字用于限制变量、函数或类成员的作用域,表示静态成员,并指示函数的生命周期。

bannerAds