为什么 ArrayIndexOutOfBound 异常可以在 Java 中捕获,但C++程序反而崩溃

Why ArrayIndexOutOfBound Exception can be caught in Java, but C++ program crashes instead?

本文关键字:C++ 程序 崩溃 异常 ArrayIndexOutOfBound Java 为什么      更新时间:2023-10-16

我在一次采访中被问到这个问题,我完全不知道:

为什么即使经过如此多的更新,数组越界异常仍未包含在C++中?

由于你在面试中被问到这个问题,面试官可能试图了解你对C++设计背后的原则的理解。

在这种情况下,面试官想要讨论的原则是,在C++中,你不会为你没有明确要求的东西付费。尽管边界检查在 CPU 方面可能便宜得离谱,但它不是免费的。在语言级别实现它会让你为你没有明确请求的内容付费,从而违反了C++基本设计原则之一。