私のプロジェクトでは、プロジェクトのいくつかのコーディング標準要件に従うように作成された、1 つのユーザー定義のデフォルト デストラクタがありました。このデストラクタのクラスは 200 回以上インスタンス化されたため、全体的な応答時間が増加しました。このデストラクタを削除すると、応答時間が 28 ミリ秒短縮されました。このタイミングの違いの理由を誰でも説明できますが、これらはデフォルトのデストラクタのみでしたが、ユーザーによって定義されており、とにかくコンパイラによって呼び出されます。
「ユーザー定義のデフォルトデストラクタ」の使用により、空のデストラクタを意味しました:
~Classname(){ };
何もしませんが、プロジェクトの基準を満たすために追加されます。
明確にするために、このデストラクタは次のカテゴリには分類されません。
1 .「仮想」として宣言されたデストラクタ。
2 .静的およびシングルトン クラスのデストラクタ。
3 .「new」キーワードを使用してオブジェクトが作成されたクラスのデストラクタ。
4 .「delete」キーワードを使用してオブジェクトが削除されたクラスのデストラクタ。