答えて
未定義の動作を構成するものは、C++標準で規定されています。
定義されていない動作を示すコードをコンパイラが実行するときに生成されるコードは、定義上何でもかまいません。これは、コンパイラライターに最適化のための余裕を与えることです。
未定義の動作は、プログラムが何かを行うことができることを意味します。クラッシュや例外のスロー、メモリの特定領域への書き込みを保証するものではありません。ご存じのように、ファイルシステム全体を削除してからごみを取り出すことができます。これはC++標準でも問題ありません。
未定義の動作から離れてください。
私はそれが最適化のための余裕とは関係ないと確信しています。 –
おそらく、最適化は正しい言葉ではありませんでした。これは通常、標準的な動作を定義することで、すべてのアーキテクチャでサポートするのが困難または非効率になる場合に使用されます。したがって、開発者がより簡単にできるようにするには、指定されたアーキテクチャーにとって最も簡単で効率的なものを実行できるようにするだけです。何度も何もしないで、プログラムを矛盾した状態にしておくことが多いのです。 –
未定義の動作はC++のコンパイラによって異なりますか?
はい。それは次のように主張することができ
:
まあ定義された動作は、標準に準拠しており、同様にうまくすべて コンパイラによってサポートされています。
したがって、
未定義の動作が標準に準拠していないとコンパイラは、彼らがやりたいこと自由に です!未定義の動作について
、
C++標準のセクション1.3.24状態:
許容未定義の動作は予期しない結果と完全に状況を無視してから、中の翻訳またはプログラム実行中に動作の範囲(診断メッセージの発行の有無にかかわらず)環境の特徴を文書化した方法、(診断メッセージを発行して)翻訳または実行を終了することなどが含まれる。
はい、はい、コンパイラは、未定義の動作が発生したときに任意の動作を自由に表示できます。
未定義は実際には未定義を意味します。つまり、何かが起こる可能性があります。
コンパイラに依存できますか?はい。
すべてのコンパイラは同じことができますか?はい。
明日は今日は1つのことをすることができますか?はい。
プログラムをクラッシュさせることはできますか?はい。
私はそれがうまくいくと思いますし、うまくいくようですか?はい。
何かが起こる可能性があります。
- 1. 一時オブジェクトの作成はC++コンパイラによって異なりますか?
- 2. これには未定義の動作がありますか?
- 3. このC++コードには未定義の動作が含まれています
- 4. C++テンプレートクラスは、コンパイラごとに異なる動作をします。
- 5. C + C++ =未定義の動作ですか?
- 6. 未定義のインデックス動作
- 7. pthread_cancelの動作はアームとppcによって異なりますか?
- 8. stringstream.good()> VSとEclipseコンパイラでの動作が異なります
- 9. JavaScriptでは[未定義、未定義、未定義]と新しいArray(3)はどのように異なるのですか?
- 10. FB.api()によって他の変数が未定義になる
- 11. なぜ私のMeteor.methodは未定義に戻りますか?
- 12. C++のインラインクラスのメソッドによって未定義の参照が発生する
- 13. 未定義の動作が他の変数と異なるのはなぜですか?
- 14. 未定義の問題があります!==未定義
- 15. この例では未定義の動作が発生していますか?
- 16. の操作は未定義ですか?
- 17. レール/ SASS:未定義の動作
- 18. 仮想デストラクタと未定義の動作
- 19. この関数はなぜ未定義に戻っていますか?
- 20. なぜこれらの2つの条件はコンパイラによって異なって扱われますか?
- 21. なぜこの単純な割り当ては未定義の動作ですか?
- 22. (-i == i ++)は未定義の動作ですか?
- 23. (++ i)++は未定義の動作ですか?
- 24. LLVM最適化のバグまたは未定義の動作?
- 25. C++の未定義のコンストラクタ
- 26. "short"の範囲はマシンによって異なりますか?
- 27. Castle.Windsorのライフスタイルは状況によって異なりますか?
- 28. フィールドrequriedの設定方法は条件によって異なりますか?
- 29. これは未定義の動作ですか、なぜですか?
- 30. 未定義の参照(C)
コンパイラ、アーキテクチャ、環境によって異なります。 – slowpoison
どうすればいいですか?はい ?未定義は未定義です。ヌーポインターの逆参照が標準によって許可されている間、マーラーの第6シンフォニーを演奏する。非建設的なものとして閉じる投票。定義されていない振る舞いを説明することは、いくつかの非常に特殊な場合にのみ価値があります。 –