問題タブ [undefined-behavior]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - `x--> 0 && array [x]`はC++で明確に定義された動作ですか?
x
ブール式を左側でポストインクリメントするときに、ブール式の両側で使用できますか?
問題の行は次のとおりです。
それは標準で定義されていますか?array [x]はの新しい値x
または古い値を使用しますか?
c++ - 「上書き」中の Stringstream write() の問題
現在、私はと呼ばれる文字列ストリームを持っていData
ます。次を使用して、文字列ストリームの先頭を探しています。
次に、stringstream の最初の 8 バイトに 2 つの整数を書き込んでみます (以前は、最初の 8 バイトは 0 に設定されていました)。
dataLength
Visual C++ デバッガーを使用してブレークポイントを設定すると、それが 12 と 0 に等しいことがわかりますdataFlags
。したがって、それぞれ 12 と 0 を書き込む必要があります。
2つの整数を書き込んだ後、効果がないように見えました。次に、次のコードを使用して stringstream データを出力します。
最初の 12 バイトを 2 つの整数 (最初の整数 != 0) で上書きしたにもかかわらず、データの最初の 8 バイトがまだ 0 であることがわかります。
stringstream のデータが正しく上書きされないのはなぜですか?
c - C プログラミング #define?
コードの出力が何であるかを知っています。
#define が他のプログラムで機能するように、上記のコードで機能しないのはなぜですか?
c++ - A function declared to return int returns nothing. Is this Undefined Behavior?
This is a valid function in C++:
The following definition causes UB:
The question: Does the following expression statement cause UB?
Quote from the standard would be very much welcome.
c++ - 未定義の動作とは何ですか?
私が読み続けているこの未定義の動作は何ですか? なぜ悪魔が私の鼻から飛び出すのですか?
c++ - この未定義の動作はなぜですか?
次の特定の式が未定義の動作を引き起こすのはなぜですか?
私の質問は、ここのアルスの質問の影響を受けています
c++ - const メンバーと代入演算子。未定義の動作を回避するには?
オブジェクトの std::vector と const-correctnessに関する質問に回答し、未定義の動作に関するコメントを受け取りました。同意できないので、質問があります。
const メンバーを持つクラスを考えてみましょう。
const_cast
代入演算子が必要ですが、回答の1つから次のコードのように使用したくありません。
私の解決策は
未定義の動作 (UB) はありますか?
UB なしのソリューションは何でしょうか?
c++ - 未定義の動作とシーケンス ポイント
「シーケンスポイント」とは?
未定義の動作とシーケンス ポイントの関係は?
a[++i] = i;
私は気分を良くするために、 のような面白くて複雑な表現をよく使います。なぜそれらの使用をやめなければならないのですか?
これを読んだ場合は、フォローアップの質問Undefined behavior and sequence points reloadedに必ずアクセスしてください。
(注: これはStack Overflow の C++ FAQへのエントリであることを意図しています。FAQ をこの形式で提供するという考えを批判したい場合は、すべての始まりとなった meta への投稿がそれを行う場所になります。回答への回答その質問は、FAQ のアイデアが最初に始まったC++ チャットルームで監視されているため、アイデアを思いついた人にあなたの回答が読まれる可能性が非常に高くなります。)c++ - C++ コンパイラは、未定義の動作として分類される構造に遭遇すると、ランダム コードを発行できますか?
重複の可能性:
未定義、未指定、および実装定義の動作
C++ の未定義の動作について理解を深めようとしています。C++ コンパイラが未定義の動作のいくつかのケースを意図的に検出するとします。たとえば、2 つのシーケンス ポイント間で変数を 2 回変更する場合です。
その架空のコンパイラがそのような状況を確実に検出すると、生成されたマシン コードに 10 個の完全にランダムなマシン命令を発行すると言います。
C++ 標準によると、何かが UB として分類される場合、何が起こるかについての要件はありません。記述されている架空のコンパイラは C++ 標準に準拠していますか?