atexit,#pragma exit とデストラクタ
デストラクタ:インデックス への移動
すべてのグローバルオブジェクトは,すべての終了手続きのコードが実行されるまでアクティブです。ローカル変数は,main 内で宣言されたものも含めて,スコープ外に出るときに削除されます。プログラムの終点での実行順序は次のとおりです。
- atexit() 関数が,挿入された順番に実行される
- #pragma exit 関数が,その優先コード順に実行される
- グローバル変数のデストラクタが呼び出される
デストラクタ:インデックス への移動
すべてのグローバルオブジェクトは,すべての終了手続きのコードが実行されるまでアクティブです。ローカル変数は,main 内で宣言されたものも含めて,スコープ外に出るときに削除されます。プログラムの終点での実行順序は次のとおりです。