最近在看这本书,感觉有很多不理解。可能是动手项目比较少,我想问问:书上说
#define ASPECT_RATIO 1.653
因为#define是预处理器处理的,在编译前会进行替换。所以当ASPECT_RATIO出错的时候,编译报告的是1.653的错误,因为ASPECT_RATIO是没有进去符号表的,在进行排错会浪费时间。因此用const double AspectRatio=1.653替换掉那个宏。而且这样内存里只会存在一个这样的变量,比较节省内存。
在平时使用VS的时候,我遇到的情况,除了指针问题可能难发现,其他情况报错编译器不都会直接定义到哪一行出了错么,这样一看便知道是什么问题。。可能楼主这方面经验比较少,麻烦知道的解释下。
顺便问下,条款三的尽量使用const里面,把一个函数的反回值设为了const,这种设置一般用在运算符设置里面吧。是么?谢谢解答
关于Effective C++的条款2尽量以const,enum,inline替换#define
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- threenewbee 2016-11-23 15:45关注
一个函数应该“严以律己,宽以待人”,严以律己就是尽可能少地修改传入的参数或者全局变量,尽可能做好自身参数和结果的检查。宽以待人是说,要对外部条件尽可能宽容,尽量不要假设外部程序的状态。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
- ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
- ¥20 腾讯企业邮箱邮件可以恢复么
- ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
- ¥15 错误 LNK2001 无法解析的外部符号
- ¥50 安装pyaudiokits失败
- ¥15 计组这些题应该咋做呀
- ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
- ¥15 让node服务器有自动加载文件的功能
- ¥15 jmeter脚本回放有的是对的有的是错的