为什么在C ++中超出范围访问数组不会产生任何错误?

这是由于C ++不进行边界检查。诸如Java和python之类的语言具有边界检查功能,因此,如果您尝试访问out of bounds元素,则会抛出错误。C ++设计原则是,它不应比等效的C代码慢,并且C不执行数组边界检查。

因此,如果您尝试访问此内存,则程序的行为是不确定的,因为它是用C ++标准编写的。通常,每当遇到未定义的行为时,任何事情都可能发生。应用程序可能崩溃,冻结,运行正常(或至少看起来运行正常),可能会干扰其他应用程序(在现代操作系统上并非如此)等。

以上是 为什么在C ++中超出范围访问数组不会产生任何错误? 的全部内容, 来源链接: utcz.com/z/345562.html

回到顶部