この記事について
この記事は、togetterまとめ「C言語の未定義動作についておさらい」へのリンクを紹介するものです。詳細はまとめの方をご覧ください。
ポイント
- 「未定義(な動作)」はプログラマ視点では「全てが無保証になるルール違反」
- 「無保証」は「何があっても文句言えない」ということ。
- なので「未定義(な動作)」はダメ、絶対。要するに「ルールは守りましょう」という単純な話。
※ただし、処理系が別途なんらかの「保証」を設けている場合を除く - 「試してみたら〇〇になりました」は、「未定義だけどたまたま結果がそうなった」と区別がつかないので、まず「ルールはどうなっているか」をちゃんと確認しよう。