エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
ここにツイート内容が記載されます https://b.hatena.ne.jp/URLはspanで囲んでください
Twitterで共有ONにすると、次回以降このダイアログを飛ばしてTwitterに遷移します
Rustのstatic変数はいわゆるグローバル変数として使われることが多いですが、static変数はDropできない... Rustのstatic変数はいわゆるグローバル変数として使われることが多いですが、static変数はDropできない(デストラクタが呼ばれない)という特徴があります。 Static it ems do not call drop at the end of the program. メモリ管理の仕組みとして見ると、'static なライフタイムを持つstatic変数はdrop() の実行時でも生存している(有効である)必要があるため、自然な仕様に思えます。一方で、ある構造体がメモリに限らない一般的なリソースを所有するような場合、解放処理はDropとして実装されることが多いです。そのような構造体をプログラム全体で共有したいとき、static変数として表現すると、最初に提示した「Dropできない」という特徴が足枷になってしまうことがあります。この記事ではそのような場合の対処法をいくつか考えようと