C 関数の静的変数の有効期間
関数内で変数が static として宣言されると、その変数は 1 回だけ初期化され、その値が初期化されます。後続の関数呼び出しを通じて保持されます。ただし、正確な有効期間を決定することは、その動作を理解するために非常に重要です。
関数の静的変数の有効期間には以下が含まれます:
そのコンストラクターとデストラクターの呼び出しに関しては、 C 標準では、これらがそれぞれ初期化中と初期化解除中に自動的に呼び出されるように指定されています。これにより、適切なオブジェクトの作成と破棄が保証されます。
ライフタイムの例
次のコード スニペットを考えてみましょう。
void foo() { static string plonk = "When will I die?"; }
この例では、静的変数plonk は、実行が初めて foo 関数に入ったときに初期化されます。これは静的であるため、その値はその後の foo 呼び出し全体にわたって持続します。プログラムの終了時に、plonk のデストラクターが呼び出され、変数が破棄されます。
さらに、プログラムの実行ごとに、静的変数の構築と破棄の順序が異なる場合があり、その結果、異なる出力が得られます。
以上がC 関数の静的変数の有効期間と初期化/初期化解除の動作は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。