cout がバス/セグメンテーション エラーでどのように機能するかについて興味があります。以下に2つの例を貼り付けました。バス エラーを複製する方法がわからないため、この例では、grid.DoMovement がバス エラーをスローした場合に対処する必要があります。バス エラー行の前に何かを出力しているときに、endline を挿入すると正常に出力されることに気付きましたが、endl を挿入しないと出力されません。一番下の例は、私の言いたいことを示しています。
cout に endline を配置せず、後の行の 1 つでバス エラーが発生した場合、「例 2」が出力されないのはなぜですか?
例 1:
std::cout << "example 1" << endl;
grid.DoMovement();
出力は
works
bus error
例 2:
std::out << "example 2";
grid.DoMovement();
出力は
bus error