我觉得对于有经验的c++开发人员,这不是一本必读的书。太浅了。
另外我觉得对于规避一些bug,以其纠缠语言的细节,不如使用良好的代码风格。举运算优先级为例,只要记住一条就可以避免与之相关的bug——除非是明显的高低优先级,应该使用括号来保证运算顺序如你所想。什么是明显的运算优先级? 同级操作左边运算符优先级高。 还有呢?没有了!自从我采用该规则后,再没有遇到运算优先级错误导致的bug。我觉得以其喋喋不休一大段讲述运算优先级,同时指望读者像背乘法表一样死记硬背下来,还不如就上面两句话来得有效果。程序的可靠性和可读性是值得付出多打几个括号的代价的。
又比如“悬空else问题”,只要记住:if子句一定用大括号括起来,也就迎刃而解了。if子句不用大括号括起来,早晚会收到惩罚,不止是会引发“悬空else问题”。