C++ デストラクタの理解を検証しようとしています。
自分で作成しない場合、C++ がデフォルトのデストラクタを提供することを何度も読みました。しかし、これは、デストラクタを記述しても、コンパイラがスタック割り当てクラス フィールドのデフォルトのクリーンアップを提供しないことを意味するのでしょうか?
私の推測では、独自のデストラクタを提供するかどうかに関係なく、すべてのクラス フィールドが破棄されるというのが唯一の正しい動作です。その場合、私が何度も読んだ声明は実際には少し誤解を招くものであり、次のようにより適切に述べることができます。
「独自のデストラクタを作成するかどうかにかかわらず、C++ コンパイラは常にデフォルトのデストラクタに似たシーケンスを作成して、クラスのメンバー変数の割り当てを解除します。その後、独自のデストラクタを定義することにより、必要に応じて追加の割り当て解除または他のタスクを指定できます」
これは正しいです?