SSブログ

とあるソフト会社の開発手法(コーディングスタイル):第5話 [戯言]

- 目次 -

第5話 「ポインタと参照」

こんなコードがありました。

void func(X& x)
{
    (略)
}

……

    X* x = NULL;
    func(*x);

NULLが入っているポインタ変数に、間接演算子って……

NULLを代入している個所と、間接演算子を使っている場所が離れているなら兎も角(それでもバグである事に違いは無い)、並んで書いてあってコレですか……

なんか、C++なのに、クラスのインスタンスを作ったら、ポインタで保持しなきゃいけないとか思っているっぽいんですよねぇ……。
こんなコードが大量にあるし。

void func()
{
    X* x = new X();

    (略)

    delete x;
}

でもって、当然の様に、こんなコードが大量にあるし、

void func()
{
    X* x = new X();

    (略)

    if (error)
        return;      // ← ここでreturnするとメモリリーク

    (略)

    delete x;
}

ちなみに、通常は次のように書くのですよ。

void func()
{
    X x;

    (略)
}

- 目次 -

[飛行機] 今日の一冊
異端の数ゼロ―数学・物理学が恐れるもっとも危険な概念

異端の数ゼロ―数学・物理学が恐れるもっとも危険な概念

  • 作者: チャールズ サイフェ
  • 出版社/メーカー: 早川書房
  • 発売日: 2003/10
  • メディア: 単行本

nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。