Re: コンストラクタからのインスタンスメソッドの呼び出しは必要か?
On 3月9日, 午後1:48, k...@ie.u-ryukyu.ac.jp (Shinji KONO) wrote:
> In article <070309124116.M1200...@XP.doga.jp>, Masamichi Takatsu <t...@doga.jp> writes
>
> > 引数の異なる複数のコンストラクタがある場合に、それぞれのコンストラクタに
> > いちいち初期化コードを記述するのは無駄が多いし保守性が悪くなるので、
> > 共通の初期化ルーチンはメソッドとして用意して、それぞれのコンストラクタから
> > 呼び出す、ということはよくやってます。
>
> それは必須だと思います。コンストラクタは入口に過ぎないので、
> 実際の初期化は別なメソッドで行うべきでしょうね。
書籍版 C++ FAQ では、一部例外を除いて初期化並びを使う事を推奨しています。
電子版(comp.lang.c++)に書いてあるかは未確認ですが。
理由はこんな感じ。
・初期化並びを使わないと処理速度が遅くなる。
・const データメンバは初期化並びでしか初期化できない。
・リファレンスデータメンバは初期化並びでしか初期化できない。
--
pegacorn
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735