c – 什么是“象征常数”和“魔术常数”?

前端之家收集整理的这篇文章主要介绍了c – 什么是“象征常数”和“魔术常数”?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Bjarne Stroustrup的A Tour of C中,每章末尾列出了一些建议.在第一章的最后,其中一个读到:

Avoid ‘‘magic constants;’’ use symbolic constants;

什么是魔法和象征常数?

解决方法

somethingElse = something * 1440;           // a magic constant
somethingElse = something * TWIPS_PER_INCH; // a symbolic one

第一个是魔术常量的一个例子,除了它的值之外,它不传达任何其他信息.

由于意图明确,后者更有用.

如果你有多个具有相同值的东西,使用符号常量也会有很大帮助:

static const int TWIPS_PER_INCH = 1440;
static const int SECTORS_PER_FLOPPY = 1440; // showing my age here :-)

这样,如果其中一个更改,您可以轻松识别代码中的哪个单个1440必须更改.由于魔法1440分散在整个代码中,你必须在多个地方改变它,并找出哪些是缇,哪些是扇区.

猜你在找的C&C++相关文章