该部分主题是杂项讨论
,已经是书的尾声了。先介绍剩下的三个条款,然后再发表笔者这段时间的感想吧。
条款53:不要轻忽编译器的警告
笔者认为如果不是没办法解决,no warnings
应该是需要满足的,这个条款也不需要过多的介绍,直接给出书上的建议吧:
- 严肃对待编译器发出的警告信息。努力在你的编译器的最高警告级别下争取
no warnings
。 - 不要过度依赖编译器的报警能力,因为不同编译器对待事情的态度并不相同。一旦移植到另一个编译器上,原本依赖的警告信息有可能消失。
条款54:让自己熟悉包括TR1在内的标准程序库
既然作为C++
的使用者,当开始开发实际的项目的时候,肯定会用到语言提供的库,因为重复造轮子
对于项目开发来说是一件成本极高的事情。而了解STL
的接口,可以节省大部分的开发时间。
TR1
自身只是一份文档,而条款55提及的Boost
库实现了文档中的大多数。
条款55:让自己熟悉Boost
笔者认为,Boost
里面很多特性已经成为了C++11
标准了,其中的智能指针,function
对象等。C++
因为历史原因,语言特性的更新速度较其他流行语言慢,虽然现在C++1x
不断地提出新的特性标准。但到目前为止(2018年),C++11
才成为主流,虽然C++14
已经发布了不少时间,C++17
接近发布的尾声了。然而现在大部分的厂商才较好地实现了C++11
的特性,所以一些实用的功能而标准库,C++程序员可以尝试去Boost里面找找。
书上也讲了不少,但是笔者认为,最后这两个条款,告诉读者去哪里能了解就可以了。至此,Effective C++
一书完结。
后记
在写Effective C++
这个系列的博客的时候,中间有那么一丝一丝的感想,到了结束写后记的时候却感觉没什么可以写的。
笔者应该算是脱离了初学者时期的人了,在根据自己理解写下博客的时候,前半本的条款应该多多少少有实践经验,写起来比较快。到了2/3这样地方的时候,明显实践不够了,需要照着原书内容看几遍才能想通道理。这个时候脑子里轻轻飘过放弃这个系列后面部分的念头,不过最后还是坚持下来了。
终于完成了这个系列。同时也意识到自己实践还不够,革命尚未成功。
感想就先写这么多吧。