Super_cpp 2016-11-23 13:32 采纳率: 100%
浏览 920
已采纳

关于Effective C++的条款2尽量以const,enum,inline替换#define

最近在看这本书,感觉有很多不理解。可能是动手项目比较少,我想问问:书上说
#define ASPECT_RATIO 1.653
因为#define是预处理器处理的,在编译前会进行替换。所以当ASPECT_RATIO出错的时候,编译报告的是1.653的错误,因为ASPECT_RATIO是没有进去符号表的,在进行排错会浪费时间。因此用const double AspectRatio=1.653替换掉那个宏。而且这样内存里只会存在一个这样的变量,比较节省内存。
在平时使用VS的时候,我遇到的情况,除了指针问题可能难发现,其他情况报错编译器不都会直接定义到哪一行出了错么,这样一看便知道是什么问题。。图片说明可能楼主这方面经验比较少,麻烦知道的解释下。
顺便问下,条款三的尽量使用const里面,把一个函数的反回值设为了const,这种设置一般用在运算符设置里面吧。是么?谢谢解答

  • 写回答

1条回答 默认 最新

  • threenewbee 2016-11-23 15:45
    关注

    一个函数应该“严以律己,宽以待人”,严以律己就是尽可能少地修改传入的参数或者全局变量,尽可能做好自身参数和结果的检查。宽以待人是说,要对外部条件尽可能宽容,尽量不要假设外部程序的状态。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧