デストラクタ
オブジェクトが破棄されるときに実行され、ファイルハンドル、ソケット、メモリなどの資源を解放する関数。対になるのがコンストラクタ。
C++では~ClassName()、RustではDropトレイト、Pythonでは__del__(GC時に動くため安全ではない)、C#ではDispose/IDisposableとusing。Javaのfinalize()は非推奨で、代わりにtry-with-resourcesを使う。RAII(Resource Acquisition Is Initialization)は資源の寿命をオブジェクトの寿命に結び付けるC++の作法で、リソースリークに強い。