在VC++运行时不能验证数组的长度吗?

GAP*_*GAP 1 c++ arrays visual-c++

当我运行程序从数组中获得第5个元素时,只有大小为4,我得到垃圾值而不是数组超出绑定异常.在VC++运行时不能验证数组的长度吗?

tem*_*def 6

在C++中,读取数组的末尾会导致未定义的行为,这意味着几乎任何事情都可能发生 - 您可能会获得垃圾,可能会获得有效数据,您可能会触发调试断言或异常等等.但是,您不应该不依赖任何特别的事情.使用C++的一个挑战是学习检查你的数组索引,因为它几乎是C++生活中的一个事实,语言不会为你做.

希望这可以帮助!