タグ デストラクタ
人気順 10 users 50 users 100 users 500 users 1000 users【Rust】static でも Drop したい
Rustのstatic変数はいわゆるグローバル変数として使われることが多いですが、static変数はDropできない(デストラクタが呼ばれない)という特徴があります。 Static items do not call drop at the end of the program. メモリ管理の仕組みとして見ると、'static なライフタイムを持つstatic変数はdrop() の実行時でも生... 続きを読む
Goにatexitやデストラクタがない理由 - Qiita
CやC++ではatexit関数で関数を登録しておくと、プログラムの終了時にその関数を自動的に走らせることができる。そういう機能はRubyやPythonにもある。 Goにはそういう機能はない。実装を忘れているのではなくて、意図的にそういう機能を持たせていないのだ。これについてIan Lance Taylorさんが大変説得力のある説明をしていた。 まず第一に、どんなプログラムでも任意の箇所でクラッシュ... 続きを読む
RAII in Objective-C with ARC - Islands in the byte stream
最近のObjective-CはARCというオブジェクトポインタをスマートポインタにする機能があり、これのおかげでiPhoneアプリの開発ではRAIIができる。つまり、不要になったオブジェクトはその瞬間にデストラクタ(-dealloc)が呼ばれるため、デストラクタ内でリソースの開放を行なえる。 // デバイスのネットワークインジケータをRAIIで制御する @interface NetworkActi... 続きを読む
コンストラクタ,デストラクタでの例外処理 - Life like a clown
Programming, C++この記事は, C++プログラマであるかを見分ける10の質問 - Life like a clown の「コンストラクタ,デストラクタにおける例外処理についての戦略を述べよ」に対する回答的な記事になります.例外処理は通常においてもなかなか難しい処理の一つですが,コンストラクタ,デストラクタにおける例外処理をどうするかは,さらに頭を悩ませる問題となります. コンストラク... 続きを読む