ClockRoom

デストラクタで何をする? | 運営ノート

デストラクタで何をする?

久しぶりに本ページに手を付けた気がする。 先日買ったアクションRPG『テネレッツァ』(全年齢)にハマり中なので「ページの更新なんかやってられるかぁ!」って感じです。 でもね、音信不通ではアレなので、あいさつ程度に一応ね。 ちなみにこのゲーム、アレなノリさえ気にしなければ、程よい難易度のおかげでついつい時間を忘れて没頭してしまう。 ヨドバシの売り場で「新作アダルトゲーム」と大札が垂れているのを見た時にはかなりへこみましたが。 その根拠の無い勘違いは一体どこから沸いて出た!? というわけで、現在制作中の『謎のツール』は延々と公開延期。。。

統一地方選挙、熱いです。 札幌のど真ん中で仕事しているので街宣が否応無しに聞こえてくるのですが、私の寝床の田舎の選挙戦とは大違い。 「みんなで札幌~♪ みんなで札幌~♪ みんなで札幌~♪ ○○××♪」と、マイ・テーマ曲を引っさげて街宣して回る候補。 「交通安全□□△△! 安全運転□□△△! 行政改革□□△△!」と、めちゃくちゃな街宣をして回る候補。 ここはオフィス街、ネタが尽きた者から帰ってくれ。 (○○××、□□△△は候補者名です。決まりなので伏せてます。)

本題行けるか!? ちょっとした(全然ちょっとしてない)クラスを組んでいるのですが、サーバモジュールから叩くライブラリなのでかなり気を付けないといけません。 で、デストラクタはどこまで面倒を見るべきかで悩んでいます。 この辺はMFCなどでもルールが曖昧。 メモリの面倒はすべてMFCが見てくれるものだとばかり思っていたら、実は場合によりけりだったりとか。 言ってるそばからメモリリーク発見! メモリリークはサーバを1週間で落とす超危険なバグ。

そもそも、デストラクタに頼らなくともプログラマが破棄関数を確実に呼び出せば済むこと。 ということは、逆に、プログラマが書くべき処理を書かなかった場合の代行をデストラクタに任せれば良いのか? なるほど、この方針が一番自然かも。 ん? かなり当たり前なことを言ってますね、ごめんなさい。

ていうか、プログラマがメモリを管理する言語自体が久しぶりなのに、この仕事、危なすぎ。 リスクを抑えるために、本当はVBで組みたかったのですが、ビット演算、変数イメージへのアクセス、ストリーム入出力、どう考えてもVBでは無理そう・・・

コメント

名前
内容
送信

※URLを含むコメントはできません。