读《Accelerated C++》有感

来源:互联网 发布:java mail 发送邮件 编辑:程序博客网 时间:2024/04/29 10:57

这段时间正在学习《Accelerated C++》这本书,听说是世界上最好的C++入门书籍了,由两位大牛Andrew Koenig、Barbara E. Moo编写的。这本书看得接近尾声了。之前是先学习了《Essential C++》,谭浩强那本C++教程我也看了一小部分,直到近段时间才发现之前误解了C++,而正是《Accelerated C++》让我真正踏入C++的大门。

先将语言方面的事。这本书我看的是英文版,不知道自己现在是英文退步了还是作者写作的原因,感觉读起来不是很顺畅。一方面是自己阅读水平的问题,另一方面可能是因为两位作者貌似不是来自英语国家的。总之感觉比起其他的英文著作看起来这本书费力了一点。

另外说点跟我看过的其他两本书的区别。谭浩强那本教程,之前因为没看过这本书,所以也没觉得有什么不妥。后来接触了《Essential C++》,发现谭老师那本确实算不上一本好教材,最重要的原因可能是没法把C++的现代化方法表现出来。对于C++的许多特性,都只是泛泛而谈而已。《Essential C++》不用说,是本好书。比这本还薄。但是相对《Accelerated C++》感觉《Essential C++》可能还是略输了一点。为什么呢?个人觉得有两个方面的原因。

其一,《Essential C++》跟《Accelerated C++》一样很好地描述了C++的特性,以及如何用现代化方法来写C++代码。但是在深度上貌似《Essential C++》是略逊了一点,因为里面讲的内容确实是最最基础的东西,不像《Accelerated C++》一样,后面还讲到了一些设计方面的技巧,比如如何通过技巧来让我们的程序自动管理内存。我以前没看过这点,现在接触了感觉还是比较新鲜。是我自己土了。这些设计方面的技巧确实很值得我们去研究。

其二,例子方面的问题。《Essential C++》和《Accelerated C++》对比起来,后者在例子方面连贯性更强,全书都是贯穿了几个相同的主题,通过不断改进的方法来更好地解决问题。这一点无疑是比《Essential C++》做得更好。为什么这样说呢?最起码让我们有些比较懒的人会强迫自己先把前面的东西学好才能更好地理解后面所要讲解的内容啊。我就是这样。当然,很多地方还是很需要初学者一再阅读研究的。

不管从哪个方面来讲,《Accelerated C++》都是做得非常好。当然,这是一本让人入门的书,没法面面俱到,没法讲得很深入。但是,绝对是王牌的一本书。

原创粉丝点击