神仙数

王朝百科·作者佚名  2010-07-20  
宽屏版  字体: |||超大  

神仙数 是指在程序异或是工程中出现的常数

比如你在写一个9宫的C++程序,你定义了一个数组int map[3][3],后来在程序中不断出现3和9这样的字眼

但是如果我想扩展呢,想把9宫扩展成为16或是25或是缩小为4宫呢

比如我现在想扩展成为16宫,这样的话我就得把程序中所有的3改为4,所有的16改为9,很显然会比较麻烦

或许有些人会说,我可以用替换功能搜索所有的3替换为4,9替换为16,确实,对于这个简单程序是可以在30秒之内用这种方法解决,

但是如果是一个很大很大的工程呢,我们还是替换所有的要改的数字如2替换为3吗,结果22变成33了,变量a2b变为了a3b

所以为了避免以后维护和修改带来的麻烦,在程序中应该尽量避免出现神仙数

可以使用const定义一个变量代替该常数,修改的时候只需修改const变量的值即可

比如对于9宫定义

const int MAPWIDTH = 3;

const int MAPTOTAL = 9;

最终要扩展为16宫的时候,只需要将上面的语句改为

const int MAPWIDTH = 4;

const int MAPTOTAL = 16;

即可

而且对于出现在工程中的常数,当别人或者是日后维护的时候碰到,会觉的这个常数莫名其妙,猜不到是什么意思

比如你碰见了3,那么这个3代表什么呢,是宽度,总数,基数还是其他的什么含义

所以用const定义一个含义比较清晰地变量,使其值为3,如上面的MAPWIDTH

在原来是3的地方现在是MAPWIDTH,我们就很容易想到宽度了啦

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝百科 版权所有