(toppers-users 515) Re: TOPPERS/JSP のコンフィグレータ
Takayuki WAKABAYASHI
takayuki @ ertl.ics.tut.ac.jp
2002年 9月 6日 (金) 13:07:15 JST
To: 高木さん
豊橋技術科学大学の若林です。
「デストラクタが例外を出すのは望ましくない」という問題ですが、色々調べて
みて何が問題なのかを把握しました。それと同時に、これまで非常識極まりない
マナー違反コードを公開していたことに恥ずかしくなりました。
#C-Magazineのプログラミング禁じ手にも載ってますね。
#仕様書(ISO/IEC:14882)も併読して、
#一歩間違えると恐ろしいことになることが理解できました。
こういうコードは、「mallocしてfreeしないコード」みたいなもので、初心者に
は悪い影響を与え かつ 熟練者にはむずがゆい思いをさせることが往々にしてあ
ると思いますので、修正候補として盛り込みたいと思います (自らの勉強の意味
もかねて)。
これを機に皆さんにお聞きしたいのですが、
「delete this;」はマナー違反でしょうか?
#あまりtoppers-users向けではないとは思いますが、
#コンフィギュレータ絡みということでひとつご容赦ください
COMを使っていると、Release時にリファレンスカウンタが0になると同時に自分
を破棄するコードを書く必要があるので、必然的に「delete this;」しないとい
けない状況が生じます。これのせいで「delete this;」に抵抗がなくなったよう
で、コンフィギュレータの中にも同処理を行っている部分があります(Directory
クラス)。良くも悪くもどう動くかを理解しているので、ある程度の制約の下で
なら実行上の問題は無いと判断しているのですが、マナー違反なのかどうかの判
断がつきません。
以上 ご意見頂ければ幸いです。
--------
わかばやし たかゆき (mailto:takayuki @ ertl.ics.tut.ac.jp)