ホームページ  >  記事  >  バックエンド開発  >  C++ における static の役割

C++ における static の役割

下次还敢
下次还敢オリジナル
2024-05-06 19:45:231168ブラウズ

C における static の役割

C では、static キーワードは、変数、関数、クラスのスコープとライフサイクルを制御するために使用されます。

変数

  • 関数内で静的に宣言された変数は、静的ローカル変数と呼ばれます。
  • 静的ローカル変数は、関数が初めて実行されるときに初期化され、関数のライフサイクル全体にわたって残ります。
  • 静的ローカル変数の値は、関数がスコープに戻ったりスコープから抜け出したりしても、変更されません。

関数

  • クラスの外で静的に宣言された関数は、静的メンバー関数と呼ばれます。
  • 静的メンバー関数は、クラスの静的メンバー変数にのみアクセスでき、非静的メンバー変数にはアクセスできません。
  • 静的メンバー関数は、このポインターでは動作できません。

クラス

  • クラス宣言で static キーワードを使用して、静的メンバー変数を作成します。
  • 静的メンバー変数は、クラスのインスタンスが作成されない場合でも、プログラムのライフサイクル全体を通じて存在します。
  • 静的メンバー変数は、クラスのすべてのインスタンス間で共有されます。

その他の使用方法

  • 型のインライン化(型のインライン化): 静的メンバー関数をクラス定義にインライン化して、性能を上げる。
  • 関数のインライン化: 静的関数を、それを呼び出す関数にインライン化して、関数呼び出しのオーバーヘッドを回避できます。
  • 定数定義: constexpr 式で static キーワードを使用すると、実行時でも既知の定数が作成されます。

概要

  • static キーワードは、C の変数、関数、クラスのスコープとライフサイクルを制御できます。
  • 静的ローカル変数は、関数のライフサイクル全体を通じて変更されません。
  • 静的メンバー関数は、クラスの静的メンバー変数にのみアクセスでき、this ポインターでは操作できません。
  • 静的メンバー変数は、クラスのすべてのインスタンス間で共有されます。
  • static キーワードは、型のインライン化、関数のインライン化、定数定義などの他の目的に使用されます。

以上がC++ における static の役割の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。