S氏code review

  • 開いたら閉じるを心がける.
  • struct(構造体)とclassの違い,classは基本的にはprivateなメンバ関数(変数)
  • macro,ex.#define IP_ADDRESS1 "10.0.0.20"はC++で使わない.理由は,この項目が型を関係なく全て置き換えてしまうからエラーの原因になるから.代わりに,constexps(コンストエクスプレッション)を用いる.型を意識して固定してくれる.
  • classの定義をポインタを使うと危険.理由は,インスタンスが呼び出されて実行されている時に,勝手にポインタが書き換えられてしまうと,値が全然違うものになってしまうから.
  • JPCERT CC→セキュアコーディングのガイドラインを示す機関.
  • constとconstexpsの違い.前者は単純な固定,後者は固定+型の違いを配慮.
  • クラスの中で初回か否かの判定はよくやる.メンバで変数を用意していてboolで条件分岐する.
  • scanfは危険.変数が何であっても入ってしまうから,例外が発生するリスクが高い.fgetsの方が安全.
  • エラーが出ているのは,read onlyの領域を書き換えようとしているから.
  • 処理待ちはタイマーを回して入力待ち時間がある一定を超えると次に進むと言うのも良い.