最近在看这本书,感觉有很多不理解。可能是动手项目比较少,我想问问:书上说
#define ASPECT_RATIO 1.653
因为#define是预处理器处理的,在编译前会进行替换。所以当ASPECT_RATIO出错的时候,编译报告的是1.653的错误,因为ASPECT_RATIO是没有进去符号表的,在进行排错会浪费时间。因此用const double AspectRatio=1.653替换掉那个宏。而且这样内存里只会存在一个这样的变量,比较节省内存。
在平时使用VS的时候,我遇到的情况,除了指针问题可能难发现,其他情况报错编译器不都会直接定义到哪一行出了错么,这样一看便知道是什么问题。。可能楼主这方面经验比较少,麻烦知道的解释下。
顺便问下,条款三的尽量使用const里面,把一个函数的反回值设为了const,这种设置一般用在运算符设置里面吧。是么?谢谢解答
一个函数应该“严以律己,宽以待人”,严以律己就是尽可能少地修改传入的参数或者全局变量,尽可能做好自身参数和结果的检查。宽以待人是说,要对外部条件尽可能宽容,尽量不要假设外部程序的状态。