关于魔数

来源:互联网 发布:省市区街道数据库 编辑:程序博客网 时间:2024/04/29 09:48

魔数又坑我第二次了,第一次是写的一个数组a[200],导致运行一些图片的时候老崩溃,这种内存报错的,都无法定位错误的,很难排查原因,晨哥几个人排查了大半天也没找到,最后岳工来了,打断点调试,看到a[200]问这是啥,然后改成a[1200],就完美通过了。他说这是魔数,C++编程规范里面就有说禁止用这些魔数。。。而这次是表格老出现大斜线,我也是纳闷。。。然后慢慢调试发现,代码里写的tmp_left_x=1000,判断语句应该能进去的,但是发现就是进不去,然后才发现原来是针对600乘以800大小图来做的,最大800也不会超过1000,但是现在的图是2000乘以1500的,完全有可能超过1000,晨哥说你这么胆大,才放1000,有时候我放10000都怕小了,高凯珺直接改成INT_MAX了。所以,慎重,最好使用相对量来定义这些常数。。

 if(0!=flg_succession)        {            int tmp_left_x=INT_MAX;//1000             int tmp_right_x=-1;//            for(int j=flg_first_i;j<flg_first_i+flg_succession+1;j++)            {                //int flg_min_left_x=0;                if(vec_leftPts[j].x<=tmp_left_x)                {                    indx_left_x=j;                    tmp_left_x=vec_leftPts[j].x;                }                if(vec_rightPts[j].x>=tmp_right_x)                {                    indx_right_x=j;                    tmp_right_x=vec_rightPts[j].x;                }            }


原创粉丝点击