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