「IB」と「UB」は具体的に何を意味するのでしょうか? 質問する

「IB」と「UB」は具体的に何を意味するのでしょうか? 質問する

「IB」と「UB」という用語が、特に C++ のコンテキストで何度も使用されているのを見ました。グーグルで検索してみましたが、どうやらこの 2 文字の組み合わせはよく使われているようです。:P

そこで、私はあなたに尋ねます...それらが悪いことであるかのように言われるとき、それらは何を意味しているのでしょうか?

ベストアンサー1

IB: 実装定義の動作。標準では、正確な動作の定義は特定のコンパイラ/プラットフォームに任されていますが、定義されることが求められます。

実装定義の動作を使用すると便利ですが、コードの移植性が低下します。

UB: 未定義の動作。この標準では、未定義の動作を呼び出すプログラムがどのように動作するかは指定されていません。理論的には鼻から悪魔が飛び出す可能性があるため、「鼻の悪魔」とも呼ばれます。

未定義の動作を使用することは、ほとんどの場合、悪い考えです。 時々はうまく機能しているように見えても、環境、コンパイラ、またはプラットフォームを変更すると、コードがランダムに壊れる可能性があります。

おすすめ記事