云风大大于05年推荐的C++经典书籍

作为一个程序员,我崇拜着许多前辈,侯捷老师、云风大大是其中的两位。

我能够坚持用文字分享生活三年多,侯捷老师的《左手程序右手诗》给予了我很大帮助;我会时不时打开云风的博客看看,看看大大最近写了哪些文章。

前些天看到云风在26岁时写过的一本书,书名叫《游戏之旅------我的编程感悟》,书中有一段关于C++书籍的推荐。虽然这推荐写于2005年,但我认为并不过时,我依然想要为其做一次摘抄与分享,于是有本篇不推送的更新。

以下是云风大大的推荐原文,摘自《游戏之旅------我的编程感悟》第9.4.7小节:

本章并非一个C++的教学,也不是一份C++的入门读物。我作为一个C++的爱好者,对C++研究多年,学得越多,越是发现C++的博大精深。

许多对C++的认识也是螺旋上升的,以前认为糟糕的方法有一天有可能重新拿回来使用,一些精彩的东西也会在几年之后放弃。不断地学习,不断地认识,终有一天会进入C++大师的境界。我现在也无法把自己学会的东西,理解的东西借助文字教给新入门者,因为许多的知识需要自己在实践中领悟。过多的细节,太快地展现出来反而会增加学习的复杂度,落得无法消化。

以上,我尽量用简短的文字把C++美好的一面展现给大家,这里只是C++语言的一个很小的角落,甚至只是我对C++了解的部分中的一角。如果读者期望C++成为自己开发中的利器,就应该多用C++做项目,尽可能地体验更多的设计方法,用心去写程序,而不是单单去实现而已。自己写出的代码,多多思考,对感觉不好的部分重新设计。

学习C++,多看这方面的专著是必修课。这个方面,我推荐以下的阅读次序:

学习C++首先应该学会C,至少也是C++中类似C的那个部分。如果完成了这个阶段而想做一个C++入门,首先推荐的还是《C++编程思想 》,然后是C++ Primer 和C++祖师爷的专著The C++ Programing Language。后两本都是大部头,或许没有前一本读得快,但也绝对是值得耐心看完的好书。

无论何时,一份C++标准文档都是很有参考价值的,在你对C++的语法点产生疑惑的时候,最好的方法不是去查某本C++教材,而是直接翻阅标准文档。

只是不像前面三本书,C++标准文档(最新的一份是1998年制定的)没有中文译本,而且似乎也只有电子档.不过好在通常我们也不需要躺在床上一页页地阅读,电子档更适合检索。

深入了解C++应该从其设计的根源及C++编译器实现方法入手。同样是C++的发明者的著作《C++的发展与演化 》对于众多C++爱好者都是一本不可放过的好书。而另一本由C++ Primer作者所著的《深度探索C++物件模型》对追求高效的C++程序员尤为有用。

这两本书的中译本都翻译得非常流畅,读起来是一种享受。

另外在C++的进阶学习上,还推荐Effective C++More Effective C++ 以及《C++沉思录》,这三本书也有中译本,不过都需要有一定的C++开发经验才适合阅读。

近年来,泛型编程非常流行,我不主张其被滥用,但是作为C++爱好者也一定是要了解的。侯捷先生的大作《STL源码剖析》是首先值得推荐的,虽然对于泛型技术的初学者有点难,不过花上点时间也能读懂,而后能获得巨大的收获。

如果你对C++中的template这个关键字的使用有足够的自信,对泛型编程自我感觉良好,那么可以去读一下《C++设计新思维------泛型编程与设计模式之应用》,我保证这本书会让你叹为观止。一本颇有些难度的书哟,阅读之前请做好心理准备。

如果只是想更加精通C++的标准库,暂时还没有想过研究boost甚至loki的源代码,那我先推荐《C++标准程序库 》,这简直是一本C++程序员案头必备的参考手册,一旦使用C++标准库进行开发,迟早你会买上一本的。除此之外,《Effective STL中文版》会和它的前辈Effective C++、More Effective C++一样,让人产生阅读的快乐。

相关推荐
懒羊羊大王&14 小时前
模版进阶(沉淀中)
c++
owde14 小时前
顺序容器 -list双向链表
数据结构·c++·链表·list
GalaxyPokemon14 小时前
Muduo网络库实现 [九] - EventLoopThread模块
linux·服务器·c++
W_chuanqi14 小时前
安装 Microsoft Visual C++ Build Tools
开发语言·c++·microsoft
tadus_zeng15 小时前
Windows C++ 排查死锁
c++·windows
EverestVIP15 小时前
VS中动态库(外部库)导出与使用
开发语言·c++·windows
胡斌附体16 小时前
qt socket编程正确重启tcpServer的姿势
开发语言·c++·qt·socket编程
GalaxyPokemon16 小时前
Muduo网络库实现 [十] - EventLoopThreadPool模块
linux·服务器·网络·c++
守正出琦16 小时前
日期类的实现
数据结构·c++·算法
ChoSeitaku16 小时前
NO.63十六届蓝桥杯备战|基础算法-⼆分答案|木材加工|砍树|跳石头(C++)
c++·算法·蓝桥杯