Prefer consts,enums,and inlines to #defines
#define Aspect_Ration 1.63
由于宏定义不算语言的一部分,故而在编译器预处理时会将Aspect_Ration给替换掉1.63,如果再编译期间出现错误,那么显示的错误信息会是1.63,为程序找错很是不利。
解决之道:
const float Aspect_Ration = 1.63;
这样的话,Aspect_Ration一定会被编译器看到,当然进入记号表内。此外,对符号常量而言,使用浮点常量消耗更少的空间,使用Aspect_Ration符号常量,编译器会将此常量在内存存放多分。如果使用float常量,则在符号表中只会存在一份。