先頭へ戻る

未定義の動作 | Programming Place Plus 用語集

Programming Place Plus トップページ -- 用語集

先頭へ戻る

名称


解説

C言語C++ において、正しくないプログラムや正しくないデータを使用したときに起こる動作で、処理系がどのような結果を生んだとしても、標準規格として関知しないとされている動作のことです。

未定義の動作を含んだプログラムは、コンパイルで検出されてエラーメッセージとして報告される可能性はありますが、されないこともあり得ます。また、コンパイルが成功したとしても、そのプログラムを実行した結果はまったく予測不可能なものになっているかもしれません。

未定義の動作を "含んでいる" だけで、そのプログラムの動作は予測不可能であることに注意が必要です。たとえ、その該当コードが実行されないとしても、もはやプログラムの動作は予測不可能です。ですから、未定義の動作が含まれているプログラムは避けなければなりません。

未定義の動作となる例としては、初期化されていない「変数アクセスする」「ゼロ除算」「配列の範囲外を参照する」といったものがあります。


参考リンク

更新履歴


用語集のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
Twitter でツイート Twitter をフォロー LINE で送る
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー