S. Meyers, 侯捷. Effective C++:改善程序与设计的55个具体做法:第3版. ISBN: 978-7-121-12332-0.
如果说 C 的缺陷能写一本书,那么 C++ 的缺陷三本都写不完。C++ 在几乎原封不动接过了 C 的各种缺陷的前提下,还额外加了大把的缺陷进去。这就导致同等的精力下,写 C++ 更容易掉进坑里。如果再遇见一个对代码风格和设计不上心的人来写。那么写出来的东西就会变得像夜壶一样,大家都想赶紧把这玩意封装起来,没人想看里边是什么。
所以在读了 C++ 的基础介绍之后,读一读提升类的书籍是非常有必要的。 Effective C++ 就属于这种。书中具体列出了 55 条在编写 C++ 时需要注意的事项并尽量给出了理由和解释。但可惜的是,由于 C++ 的标准已经迭代了多个版本,书中的一些指南可能已经不太适用了。不过大体上来说,读这本书还是好过不读的。
书中的指南涉及的范畴很广,但我印象中,大致集中在这样几点:
- 不要把写 C 的思路带进写 C++。
- 尽量使用新的 C++ 语法特征。
- 尽量不要写宏。
- 慎重对待指针。
- 慎重对待多继承、抽象类等。
- 慎重对待对象的实例化与删除。
而其中介绍的比较新颖的 C++ 特性则大致包括:运行时类型、类型设计、泛型、更好用的标准库等。而这些在 C++ 中当成高级特性说的东西,在设计比较新颖一些的语言中其实是相当基础的。所以我非常想不通,除了兼容现有项目外,还有什么理由用 C++ 来写独立的新项目。
当然了,书中的一些规则是不针对具体语言特性的,在其他语言编程中也用得上。但相对来说这部分内容很少。
求点赞,求收藏,求分享
欢迎关注我的公众号,微信搜索:知则