为什么很多人创建数组时长度都是题目要求最大长度+10
比如题目数据范围是最多300*100=30000个数据,题解很多人数组长度设的30010
有一类题型,是题目提供接口,我们去实现接口。这种情况是不是无法本地调试?
“多一少一”问题占程序员常犯错误的10%以上!
避免“多一少一”问题的方法之一是将比如<10甚至<5的数代入程序片断,掰手指头心算验证一下程序到底应该写为
x、x-1、x+1中的哪个?
<、<=、==、>、>=中的哪个?
——————————————————————————————————————
90%的程序员写出的代码运行时数组越界而不自知。
——————————————————————————————————————
其实电脑开机后物理内存的每个字节中都有值且都是可读写的,从来不会因为所谓的new、delete或malloc、free而被创建、销毁。区别仅在于操作系统内存管理模块在你读写时是否能发现并是否采取相应动作而已。操作系统管理内存的粒度不是字节而是页,一页通常为4KB。