我很好奇 cout 如何处理总线/分段错误。我在下面粘贴了两个示例。因为我不知道如何复制您必须采取的总线错误,如果从我这里 grid.DoMovement,在这个例子中,抛出一个总线错误。当我在总线错误行之前计算某些内容时,我注意到如果我在其中放置一个 endline,它会很好地打印出来,但如果我不放一个 endl,它就不会。底部的例子说明了我的意思。
为什么如果你没有在 cout 中放置一个结束行并且你在后面的一行中有一个总线错误,它不会打印出“示例 2”?
示例 1:
std::cout << "example 1" << endl;
grid.DoMovement();
输出是
works
bus error
示例 2:
std::out << "example 2";
grid.DoMovement();
输出是
bus error