問題タブ [observable-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++ - プログラム状態の変化は観察可能な動作を構成しますか?
次の 2 つのプログラムを検討してください。
プログラム 1
プログラム 2
彼らは同じ観察可能な行動を持っていますか?C++ 標準 (1.9/6) によると、観察可能な動作には以下が含まれます。
volatile
データの読み取りと書き込み- ライブラリ I/O 関数
srand()
とrand()
はおそらく I/O 関数ではありませんが (特定の実装が何らかのハードウェア ノイズ ソースを使用しているかどうかはわかりませんが)、プログラムの内部状態を変更します。彼らはデータを操作しvolatile
ますか? 知らない。への呼び出しprintf()
は明らかに I/O 操作であり、そのシーケンスは両方のプログラムで同じです。
上記の 2 つのプログラムの動作は同じですか? 特定の 2 つのプログラムが同じ観察可能な動作をしているかどうかを知るにはどうすればよいですか?
c++ - C ++で空の文字列の観察可能な動作を印刷していますか?
C++03 標準の観察可能な動作 (1.9/6) には、ライブラリ I/O 関数の呼び出しが含まれます。今、私はこのコードを持っています:
これは正式にはライブラリ I/O 関数の呼び出しですが、効果はありません。
それは観察可能な行動ですか?コンパイラはそれを排除できますか?