C++ プログラムの起動と終了

C++ プログラムは、プログラムの起動時と終了時に C プログラムと同じ操作に加えて、ここで説明する追加の操作を実行します。

対象環境が main 関数を呼び出す前、および静的存続期間があるすべてのオブジェクトで指定されている定数初期値が格納された後、プログラムはこのような静的オブジェクトに対する残りのコンストラクターを実行します。 翻訳単位の間で実行順序は指定されていませんが、それでも、これらの静的コンストラクターによる使用のために一部の iostreams オブジェクトが正しく初期化されるものと想定できます。 このようなコントロール テキスト ストリームは次のとおりです。

  • cin — 標準入力の場合。

  • cout — 標準出力の場合。

  • cerr — バッファーされない標準エラー出力の場合。

  • clog — バッファーされる標準エラー出力の場合。

また、プログラムの終了時に、静的オブジェクトに対して呼び出されるデストラクター内で、これらのオブジェクトを使用できます。

C と同様に、main からの戻りまたは exit の呼び出しでは、atexit に登録されているすべての関数が、登録と逆の順序で呼び出されます。 このような登録されている関数からスローされる例外は、terminate を呼び出します。

関連項目

C++ 標準ライブラリの概要
C++ 標準ライブラリ内のスレッド セーフ