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

时间:2017-03-20 18:35:33

标签: java c++ exception-handling

我在接受采访时被问到这个问题,我根本没有任何线索:

为什么即使在如此多的更新之后,C ++中也没有包含数组越界异常?

1 个答案:

答案 0 :(得分:3)

自从你在面试中被问到这个问题以来,面试官可能正试图获得一些关于你对C ++设计背后原理的理解的知识。

在这种情况下,访问者希望讨论的原则是,在C ++中,您不需要支付您未明确请求的内容。尽管边界检查在CPU方面可能是非常便宜的,但它并不是免费的。在语言级别实现它将使您为未明确请求的内容付费,从而违反了C ++基本设计原则之一。