そこで、C++ で初期化されていない配列を作成し、最後の要素を出力して、出力がどうなるかを確認しました。初期化されていない配列のすべての要素の値は 0 でなければなりませんが (そうですか?)、得られた出力は別のものでした。メイン関数は次のようになります。
int main() {
int i[5];
cout << i[4] << '\n';
}
この出力を実行する1606416656
と(毎回同じ数)、改行があります。ただし、に変更'\n'
するとendl
、出力が0
改行付きに変更されます。
何故ですか?
また、 を使用しても正しく出力されi[3]
ずに印刷しようとします。なんで?i[4]
0
'\n'
'\n'
私はいくつかの調査を行い、「バッファをフラッシュ」しない場所を読みendl
ました。この「ストリームのフラッシュ」は実際にはどういう意味ですか?これが出力に影響を与えているのですか?