スコープ

犯人は誰か?

ある変数 a の値がおかしい(バグを含んでいる)とすると、多くの場合で以下の理論が成り立つ

  • a がおかしくなった原因は、aに代入できる範囲にいる
    • 一箇所かも知れないし、複数ヶ所かも知れないが
  • a がおかしくなった影響を受けるのは、a を読める場所全て

ポインタ怖い

  • C にあるポインタは上の考え方を適用すると、すごく怖い
  • すべての場所から、全ての変数へ代入ができるし
    • バグの原因はどこにでもあるし
  • どこからでも、任意の場所の値が読める
    • バグの影響をみんなが受ける可能性がある