Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
int x; x=x+30; cout << x;
出力は 33 になりますが、なぜそうなのですか? x を 3 とさえ宣言していません。ありがとう!
初期化されていない変数の使用は未定義の動作です。信頼できない一連の実装の癖により、33 を得ました。このプログラムは、価値を生み出すことも、コンパイルに失敗することも、暗殺者を雇ってあなたを刺すことも自由です。
C++ では、変数にはデフォルトで変数のサイズと同じスペース (メモリ割り当て) が与えられますが、デフォルトでは値は与えられません。