Article View: japan.comp.lang.visual-c++
Article #24Re: コンストラクタ内を避けるべき処理
From: synsyr
Date: Sat, 06 May 2000 00:00
Date: Sat, 06 May 2000 00:00
37 lines
2205 bytes
2205 bytes
木屋さん、こんにちは、鶴田(synsyr)です。
Yoshio Kiya <kiya@asahi.email.ne.jp> wrote:
> 電子のお針箱 wrote in <8eu2vv$pun$1@newsjp.mbn.or.jp>
> > この基準の意図がわかりません。エラーを返しにくいと言うことですか ? 例外処
> > 理で十分と思いますが...。
>
> 私はこれで良く悩んでいるのですが、コンストラクターで例外を
> 発生させた場合、メモリーの解放が面倒ではありませんか?
私もこれで悩んでいまして、いまだに例外処理が使いこなせていな
いです。
> わたしは、自分の後始末は自分でしたいので、しかたなく、下記
> のようにすることはありますが…
>
> class CHoge* pc = (CHoge*)new BYTE[sizeof(CHoge)];
> try
> {
> pc->CHoge::CHoge();
> }
> catch ( ... )
> {
> delete pc;
> }
私の場合はここまでするのは耐えられないので、結局コンストラク
タでは例外やエラーを発生させる処理はしないで、Init()みたいな
イニシャライザを明示的に呼ぶようにしています。これはこれで、
問題があるのですが・・・。
上記のような処理をする為に、明示的にコンストラクタを呼ぶメリッ
トは、今のところ私にはわからないのですが、なにか理由がありま
したら、教えていただけないでしょうか。
____________________________________________________________
鶴田 真一(as SYN, synsyr) synsyr@pop21.odn.ne.jp
Technical Details
Message-ID:
<8f0qal$jrh$1@nwms2.odn.ne.jp>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<8evptd$4m2$2@newsgw8.odn.ne.jp>Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS X-Google-Thread: f71b3,d8108d20cf4aa80b X-Google-Attributes: gidf71b3,public X-Google-Thread: 10a2c7,d8108d20cf4aa80b X-Google-Attributes: gid10a2c7,public From: synsyr <synsyr@pop21.odn.ne.jp> Subject: Re: コンストラクタ内を避けるべき処理 Date: 2000/05/06 Message-ID: <8f0qal$jrh$1@nwms2.odn.ne.jp> X-Deja-AN: 619916360 Content-Transfer-Encoding: 7bit References: <8evptd$4m2$2@newsgw8.odn.ne.jp> X-Forwarded: by - (DeleGate/5.9.12) Content-Type: text/plain; charset=ISO-2022-JP X-Complaints-To: news@odn.ad.jp X-Trace: nwms2.odn.ne.jp 957607061 20337 143.90.130.27 (6 May 2000 09:57:41 GMT) Organization: odn.ne.jp Mime-Version: 1.0 NNTP-Posting-Date: 6 May 2000 09:57:41 GMT Newsgroups: japan.comp.lang.visual-c++,fj.comp.lang.c++