〃忝書γě渎ぐ 发表于 2020-5-12 15:27:03

数组不做越界检查,是为了效率吗?

4goodworld 发表于 2020-5-12 15:27:04

我个人浅薄的认识:
对于数组而言,其实在内存里面,它是一组值而已,就好像我们字符串 其实它也可以近似认为是一个数组,或许你常常会发现 当你不注意'\0'的使用,会取出什么xxx烫烫,这不就是“越界”了吗?
我们不希望数组越界,并不是因为界外没有存储空间,而是因为界外的内容是未知的。也就是说如果界外的空间暂时没有被利用,那么我们可以占用那块内存也没啥影响,但是如果之前界外的内存已经存放了东西,再占用那么则有可能会导致错误的产生或是程序最终的运行结果出错。
这个问题再延升下,为啥释不释放内存申请指针不做检查,我感觉其实道理差不多,不是说不释放一定会出错,而是可能会出错,为了一个“可能的错误”,你过度检验似乎有点浪费效率

Pythonnewers 发表于 2020-5-12 15:35:45

C,还是JAVA?
页: [1]
查看完整版本: 数组不做越界检查,是为了效率吗?