C++推荐书籍

C++推荐一:

C++ Primer                           (学习C++的都懂的)

高质量C/C++                        (国内C/C++经典书籍)

Effective C++                      (提高代码质量的两部书)

More effective C++

深入探索C++对象模型

STL源码剖析

设计模式:

大话设计模式                   

设计模式 GOLF

重构:改善既有代码的设计

算法:

编程之美 (貌似很多互联网公司的面试题直接从这里出)

编程珠玑                                  

算法导论 (好厚啊!)

操作系统:

操作系统原理        清华大学

深入理解计算机系统        (原名:  Computer Systems: A Programmer's Perspective )    

Linux下编程:

Unix/Linux编程实践教程    (经典书籍)

UNIX高级环境编程            (“史诗”般的巨著)

unix 编程艺术                   (1楼下读者推荐

Linux编程实战

数据库:

MySQL必知必会                    (很薄,据说很经典)

数据库系统概念

推荐二:

混沌阶段 
混沌是什么阶段,就是刚刚跨入软件开发这个领域。无论使用哪种语言,编过的程序都是寥寥,感觉什么东西都很新鲜,但是却也说不出来究竟有些什么东西可以学。 
《C++程序设计》-- 钱能 
如果你刚刚听说过世界上存在一门叫做C++的编程语言,而且由于种种原因需要尽快地了解C++语法知识的话,这是本教材恐怕是最合适的了。不要误解,我完全没有贬低这本书的意思,因为C++本身的复杂性,很少有图书适合真正的新手入门的。就算是B.S推荐的入门书《Essential C++》,被被它不到300页的外表欺骗了,如果你还没有建立起一些C++的基本概念,它真的不适合你,我保证。怯怯的说一句,我初学C++用的书是《21天精通C++》,虽然它是垃圾书(毫无疑问),但我想当时什么都不懂的我如果看的是B.S推荐的入门书,是不是会有自信进入软件这一行将是一个很大的疑问。 
入门阶段 
已经有了一些软件开发的经验,懂得程序究竟是怎么一回事,但是对C++编程接触较少 
《The C++ Programming language》A:Bjarne Stroustrup T:裘宗燕 
《C++ Primer》A:Stanley B.Lippman T:潘爱民 
作为一名真正的C++程序员,如果手头上这两部著作都没有的话,那么你C++语言的专业性是值得怀疑的。注意,我的用词是拥有(集体拥有亦可),而不是看过,因为很多过来人的经验表明,就算是有了10多年的开发经验,也总能从这两部著作中找到一些启发。 
这两本著作功能相近,都是C++大全类书籍的泰山北斗,不过他们也有各自的特色。贯穿于整部《The C++ Programming language 》中,B.S不遗余力地于各个细微之处教导读者如何编写“正确”的C++程序,这其中的价值,远远高于其表面的语法讲解。而《C++ Primer》,则在章节排布上颇费了些心思,使读者一气读来通畅舒服而欲罢不能。以上两本著作任选其一皆可,虽然用有趣这个标准来衡量这两部书并不恰当,但如果你是一个初学者,而且对自己读书的耐性又不是特别自信的话,个人比较推荐《C++ Primer》,反之如果你希望毫无遗漏的接受大师教诲的话,《The C++ Programming language》是不二之选。我自己的就是潘爱民、张丽翻译的《C++ Primer 第三版》,感觉里面有几个小的翻译瑕疵,不过无伤大雅。 
提高阶段 
熟悉绝大多数C++语言的语法,已经用C++编写了一定数量的程序,这些程序中有不少存在着突然崩溃或是其他令人难堪的问题,但是自己也说不上来究竟是为什么。于是让别人给自己做个评价,得到的答案却是,原来自己的C++水平跟精通毫不搭界,称为熟悉都勉为其难。 
《Effective C++》A:Scott Meyers T:侯捷 
《More Effective C++》A:Scott Meyers T:侯捷 
《Exceptional C++》A:Herb Sutter T:卓小涛 
《C++编程规范》-- Herb Sutter,Andrei Alexandrescu T:刘基诚 
首先先来看看语言本身掌握程度的提高,以上四本都是采用条款式来对C++语言各个方面进行讨论的。文中列出的每个条款都凝聚了作者多年的经验精华,熟知并且能在自觉不自觉地情况下熟练的运用这些条款是每一个称职的C++程序员必备条件。 
但是,看这几本书是颇需要一些技巧的,这里说的技巧不是指C++编程技巧,而是阅读技巧。因为这几部书并没有一个贯穿始终的主线,也缺乏足够的练习帮助读者加深印象,如果仅仅是打开来一气读下去,很可能会看了后条忘了前条。所以,我觉得一个比较好的阅读方法是,每阅读完一条或是少量的几个条款,就到自己以前做的项目代码中去检查,看看这些条款中提到的问题是否能和某些代码对应上,然后尝试用条款中的建议去改进这些代码看看是否有效。这里有个问题,如果书中有些条款内容自己之前并没有涉及到怎么办,很简单,记住有这么一个条款存在就可以了,等将来遇到了相关开发,再翻出来实践,保准记忆深刻。 
《泛型编程与STL》A:Matthew H.Austern T:侯捷 
《C++标准程序库》A:Nicolai M.Josuttis T:侯捷等 
学习一门语言,仅学习它的语法是没有任何用处的,还需要掌握支撑这门语言应用的各种各样的库。其中C++标准库STL是必须掌握的一个。《泛型编程与STL》从机制上深入的阐述了STL中很多设计上的细节问题,作为一个需要常年在STL上打拼的C++程序员,熟悉STL的使用方法固然是必须的,同时能够从原理的角度去了解STL也是必不可少的,值得注意的是,《泛型编程与STL》除了对STL的机制又比较深入的讲解外,同时也是一份STL的参考,如果要求不高,那么用它来做参考资料也是可以的。 
说道参考资料,STL方面最具影响力的就是这本《C++标准程序库》了,STL中事无巨细,都在这本大部头里有详细描述。毫无疑问,一个专业C++程序员,会将这本书放在伸手就可以够到的地方,以便随时可以抓过来查阅。 
《More Exceptional C++》A:Herb Sutter T:於春景 
《C++ 必知必会》A:Stephen C.Dewhurst T:荣耀 
《C++ Gotchas》A:Stephen C.Dewhurst 
以上三本书也是久负盛名了,不过这里仅作为提高阶段的第二梯队推荐。下面就分别介绍一下,不过很多是个人观点,如果触犯了你的立场,那么我深感抱歉,同时谢绝论战。 
《More Exceptional C++》当中充满了各种各样隐藏在C++深处的技巧,毫无疑问,掌握这些技巧将对C++水平的提高很有帮助,至少可以在不知道这些技巧的同行面前,卖弄一下会很有成就感,不过也有人提出这些技巧的实用性有待证实。 
与《More Exceptional C++》不同,《C++ 必知必会》中讨论的知识点是非常实际,而且相当重要的,从其名字当中的“必知必会”就可以看出来这本书的定位,之所以没有将其放到推荐的第一梯队,是因为虽然口碑很好,但是毕竟出版时间较晚,还没有经过时间的考验。算然如此,但在推荐时,总还是有些犹豫,是否应该将它放到第一梯队中更合适呢! 
至于《C++ Gotchas》,会将它放在第二梯队原因很简单,目前还没有中文译本,而且我也完全没看过,本来不想推荐的,但是很多人都强烈以及强迫推荐之,所以... 
深入阶段 
OK,进入这个阶段的人编写C++程序已经不成问题,开发过程中的大部分问题都可以很快地找到关键并加以解决。但是,面对像类似Loki库代码时,会被震撼的说不出话来...,那好,恭喜,这里推荐的书目正好合适你。 
《Imperfect C++》A:Matthew Wilson T:荣耀 
是的,它出版很晚,违背了前面提到的时间考验问题,但我无法抑制想要推荐它的冲动。这本书所发挥的作用是其他几乎所有C++书籍都没有达到的,它将教会你两件事情:一是将C++漂亮的应用于现实世界;二是将这门语言以及编译器等附属品随心所欲的掌控于股掌之间。相信我,只要看了第一个条款,就再也放不下它了! 
《C++设计新思维》A:Andrei Alexandrescu T:侯捷等 
很遗憾的告诉大家,本书的作者,现在还是一个学生!!!很明显,他完全颠覆了我对学生应该是什么样子的基本概念,希望大家在知道这个事实的时候不至于遭受太大的打击。本书讨论的内容毫无疑问的可以放在C++程序设计的顶点,至少是之一,如果你还认为C++泛型编程只不过是研究室里的玩具,那么阅读并理解这本书吧,相信等接下来你追踪C++0X发展的时候,对其在泛型方面大跃进式的改造就不会感到意外和不可理解了。对了,顺便说一句,在C++中,OO仅仅只是一个选择而已,随着C++的不断发展,它是否还是第一等的选择尚在讨论。 
《深入C++对象模型》A:Stanley B.Lippman T:侯捷 
没错,就算不清楚编译器是如何将一个个C++类和对象编排为指令码和数据块的,也并不会妨碍你编写出漂亮的C++程序,可是偶尔出现在调试器中怪异的内存数据一定让你头痛过吧。当你空闲下来查阅一下过往的代码,突然迸发出一个念头想要C++多态究竟是怎么做到的;或者说突然接到一个任务,要将一堆该死的C++对象序列化发送到另外一台计算机上时。你一定会想知道C++编译器究竟背着我们做了一些什么,让cpu这种只知道来一条指令执行一条的单细胞动物懂得如何处理繁杂的C++对象系统的,那么,请认真地阅读本书吧。实际上,当你编写了足够多的程序并解决过足够多的实际问题,阅读这本书可以说是非常顺畅的,就好像跟一个老朋友聊天,虽然近况不很清楚,但总有很多共同话题。反之,如果事先没有积累足够的编程经验,看这本书简直就是一种自我折磨。 
TO BE THE ONE 
噢,不可思议,前面那些书籍的内容对你来说都已熟悉不过,由衷地赞叹一声,你已经是国内屈指可数的C++专家了,但是,要想写一本《C++设计新思维》或者《深入C++对象模型》这样深度的书,可能还是会觉得有些力不从心吧。为什么,为什么呢!原因肯定有很多,当中有一个很重要的就是,你所掌握的这些知识是经过了别人加工后传授给你的了,要想在这些已经被别人精炼过的知识点上有所突破,是一件非常非常非常困难的事情。既然你现在所知道的这些知识点是被别人提炼过的,那么就必然还有剩下尚未展示出来的东西,那些东西放在什么地方呢? 
《ISO C++ Language Standard》 
跟所有的标准文档一样,ISO C++标准也一如既往地晦涩与枯燥,但是每一行当中都可能蕴藏着丰富的含义。阅读这样的东西是需要勇气的,但是它所带来的回报也绝对不会让人失望,关于这个,问问上面那些高阶书籍的作者就知道了C++学习书籍推荐 - IT小小鸟 - itsmallbird@126的博客 
特别推荐 
这里推荐的书目并不一定是关于C++语言本身,而是大多数经验丰富的专业程序员共同推荐的,语言本身固然重要,但是掌握正确的程序设计方法甚至更为重要。 
《代码大全》A:Steve McConnell T:金戈等 
这真的是一个大部头,内容涵盖了软件构建过程的各个细节,几代软件人从中汲取了大量的营养,而使自己更加迅速的步入专业程序员行列。我们急切需要的是什么,使经验,从什么地方得到,从实践中得到!是的,《代码大全》无法替代你从实践中获取经验这个过程,但是当你途经软件构建的各个环节时,它会细致的告诉你在各个细节上,什么是证明有效的,什么是证明无效的,当你将自己的体验和这些知识加以比对,将获得前所未有的前进速度。 
《C++语言的设计和演化》A:Bjarne Stroustrup T:裘宗燕 
如果仅仅把C++当作一个工具来使用的话,这本书帮不上任何忙,但是如果认定了C++将是你一个重要的伙伴,那么有一件事情你一定要做,就是了解它的过去,从中看到它的未来。相当另类,《C++语言的设计和演化》讲述的是和其他书籍完全不同的C++的一个侧面,就是C++的文化,你可能在和C++常年的相处当中,对他强大的力量赞叹不已,也会对它的一些坏脾气无可奈何,这本书会告诉你它力量的来源以及坏脾气的肇因,当了解了这些历史之后,相信你和C++相处起来将会更加的融洽。 
《程序员修炼之道》A:Bjarne Stroustrup T:马维达 
无论你之前的程序观是怎样的,在你阅读这本著作的时候都要仔细认真地体味其中的深意,如果你能够认同作者的那些观点,那很好,你已经懂得如何成为一个真正的软件开发专家了;如果其中有些观点你经过认真思考后还不认同,并且能够有足够的理由能够证明作者的观点是错误的,那真是太好了,你在那个方面多半已经是一个真正的专家了。仔细阅读,并且慎重的思考,这本书能够给你带来的益处无可替代。

推荐三:

人的精力是有限的,当前计算机相关书籍相当丰富,所谓林子大了什么鸟都有,所以首先不要乱读书,以免被误导或浪费时间。这样我们学习的步骤第1是选书,第2是按顺序看书。

 

以下是我个人认为值得推荐之书:

一.c++程序员看的书:
//------------------------------------------------------------
// 入门:
//     Lippman的书就是经典!
//------------------------------------------------------------

《c++ primer》                                        --------- 强烈推荐! 初学者经典书

    作者 Stan Lippman(c++大师,第一个C++编译器cfront作者之一)

//------------------------------------------------------------
// 初级:
//      从头到尾看过一遍,感觉对初学者还是很好的书籍
//------------------------------------------------------------
《C++编程思想》                                  --------- 强烈推荐! 初学者经典书
《高质量C++编程指南》                      --------- 强烈推荐! 初学者经典书

 

//------------------------------------------------------------
// 扎实基础并提升level(本栏书籍不得不看!):
// 本栏书籍都已从头到尾看完.( 感觉好hi)
//------------------------------------------------------------
《Inside C++ Object Model》                 -------- 极力推荐! 全面透彻了解c++ 从头到尾看完.

     作者 Stan Lippman(c++大师,第一个C++编译器cfront作者之一)

《C++ Templates》                                -------- 极力推荐! 全面透彻了解模板.

      该书被业界誉为模板的圣经!

《c++编程新思维》                              -------- 极力推荐! 被誉为挑战思维极限的书。 

      作者Andrei Alexandrescu就是 撰写Loki库的怪才! 

      读前请先看(Inside C++ Object Mode)和(C++ Templates)

《com本质论》                                       -------- 强烈推荐! 经典。

      读前先看(Inside C++ Object Model)

《com原理与应用》                               -------- 强烈推荐!  作者潘爱民.上书姐妹篇,读者可2选一.

 

//------------------------------------------------------------
// 提升exp:
//------------------------------------------------------------

《c++大规模编程》                              --------- 强烈推荐!   非常好,大规模编程理当看看。看了没仔细看,不过得益不少.
《深入浅出MFC》                                  --------- 强烈推荐! MFC入门经典(看过一遍,这是让我知道侯杰的一本书.)
《stl源码分析》                                     --------- 强烈推荐! 了解stl的好书。作者侯杰. 看了一大半,然后就当参考书用了.
《Effective C++》或《More Effective C++》                         ---------  经典。2001年买的书后来不见.
《设计模式》                                         ---------  经典。很薄,不过一直今没啃完.

 

//------------------------------------------------------------
// 不推荐读物:
//------------------------------------------------------------
《C++沉思录》                                     ---------  翻过一遍,感觉这本书实在是老了,现在来说可以不看。

 

二。游戏书籍:

《图形开发人员指南》  -------- 极力推荐!  国外经典好书!

       下载:

       http://www.gamedev.net/reference/articles/article1698.asp ;          

《3D图形编程指南  》       -------- 强烈推荐! (3d入门好书)图形基础。好像是在原来mays的开发者网站下载的
《真实感图形算法》         -------- 极力推荐! ! 国内经典好书! 从朋友那借来的.现已绝版!
《游戏开发物理学》         -------- 推荐! 看朋友推荐就买了, 没看.

《Advanced 3-D Game Programming Using Directx 8.0》peter walsh

                                             -------- 2002年看到的d3d入门好书,可惜没中文版,推荐买如下它的新版:

《Advanced 3D Game Programming Using DirectX 9.0 》

                                             -------- 极力推荐!(d3d入门好书) 这是上一本的新版

《MatheMatics for 3d Game Programming & Computer Graphics 》  

                                             -------- 极力推荐! 2002年看到的3d入门好书,可惜没中文版。

《Game Programming Gems 》1、2、3、4中文译本

                                            -------- 强烈推荐! 资料文章, 买了前3本丢了第1卷,还没怎么看.

 

《3D游戏 卷1:实时渲染与软件技术 》
《3D游戏:卷2 动画与高级实时渲染技术 》-------- 强烈推荐! 
 作者:Alan Watt,Fabio Policarpo 
  Fly 3D SDK
两本都买了,在看.
 

《Real Time Rendering 》   -------- 强烈推荐! 本书因为其创新性被美国《游戏开发者》杂志(Game Developer  Magazine)评为2002年度"前沿奖(ProntLineAward), 刚买.

 

《计算机图形学几何工具算法详解》   -------- 极力推荐! 原来是朋友Michael推荐给我的.刚买.
最近在看,感觉很好,是一本不仅说HOW还告诉你WHY的几何基础的图形书. 作者Schneider在沃特迪斯尼特色动画公司领导一个建模和动态模拟软件小组, 3维引擎“疯狂魔法”的设计师

 

《Maya5编程全攻略》      -------- 推荐!  插件相关,了解maya的设计理念,提高设计能力。很薄,看完了,感觉还不错.

《游戏之旅——我的编程感悟》 -------- 推荐! 2005年12月出版,新书.没看。

              推荐!因为是云风出的。

 

三。windows编程及汇编:
(1)《windows核心编程》 by Jeffrey Richter                         -------- 强烈推荐! 已收藏,不过感觉说得不是很深.

(2)《win95 a developer's guide》 by Jeffrey Richter             -------- 强烈推荐!
(3)《Windows 95 System Programming Secrets》                  -------- 极力推荐! 这书的份量可用不得不看来说!
       该书作者也是boundschecker内存泄露工具的撰写人

(4)《Inside Windows 2000》                                                   -------- 强烈推荐! 

(5)《80X86汇编语言程序设计教程 》                                 -------- 强烈推荐! 

  清华大学出的很好的一本书,我当初看了一大半之后丢在广州朋友家不见了。

(6)《保护方式下的80386及其编程 》                                 -------- 极力推荐! 好书哇! 也可当参考书用.

      作者是80386 CPU的总设计师John Crwaford,以及Patrick Gelsinger

      电子书:http://www.oldlinux.org/cgi-bin/LB5000XP/view.cgi?forum=25&;topic=10

(6)《硬盘扇区读写技术》                                                    --------  推荐! 很薄,个人爱好买了下来,可以透切了解扇区等技术。

(7)《Linux内核完全注释》                                                    -------- 极力推荐! 透彻分析linux早期内核源码! 

       论坛:

        http://www.oldlinux.org/cgi-bin/LB5000XP/forums.cgi?forum=1

       电子版下载:

       http://www.oldlinux.org/download/clk011c-1.9.5.pdf
(8)《自己动手写操作系统》                                                -------- 极力推荐! 深入浅出了解系统底层

       出版日期:

       2005年8月.见http://www.dearbook.com.cn/subject/program_OS/
刚看完了。

要想了解操作系统原理,以上四本可以结合一起看

(9)《软件加密原理与应用》                                               --------  强烈推荐! 国内软件加密公司出的好书

(10)《软件加解密技术内幕》                                             --------  强烈推荐! 国内看雪力作!

(11)《黑客反汇编揭秘》                                                     --------  强烈推荐! 国外反调试、反跟踪等技术

(12)《代码优化:有效使用内存》                                     --------  推荐! 

(13)《组合语言之艺术》                                                     --------  推荐! 非常好的汇编语言。网上有电子档下.

(14)《编程高手箴言》                                                         --------  推荐! 看到作者是超级解霸作者,买了回来.
        这是本很好书,不过由于是"箴言"所以内容有点散,有基础才看得懂,广西老乡哈。

(15) 《深入理解计算机系统》                                            --------  极力推荐! 不得不看! 已从头到尾看完.(好hi)

      国外经典教材! 作者Randal E.Bryant David O'Hallaron 著

(16) 《编译原理及实践》                                                    --------  极力推荐! 作者Louden, K.C 
          

四.网络编程:
 《Cisco网络技术教程》                                                      -------- 强烈推荐! 网络程序入门书. 从朋友手里借来看完了,是一本不错的入门书.

 《Windows网络编程 》                                                       -------- windows网络编程参考书, 这书买回来不久书就脱线了,真郁闷,该书告诉你怎么在windows下使用api进行网络编程.要了解网络底层先看上一本再看下面一本吧.

 《TCP/IP详解 》 1、2、3 作者:[美]W.Richard Stevers -------- 极力推荐! 我只有第1卷,感觉很不错的书.

 《U用TCP/IP进行网际互联 》 作者:林瑶 等/译            ------- 上书姐妹篇
 《UNIX网络编程 》 作者:[美]W.Richard Stevers           -------- 强烈推荐!

       评价很高的书,还没看

《C++网络编程,卷1:运用ACE和模式消除复杂性》  -------- 强烈推荐! 

       评价很高的书,还没看

《C++网络编程,卷2:基于 ACE 和框架的系统化复用》-------- 强烈推荐! 

       评价很高的书,还没看

 

五。 其它非计算机的书:
《时间简史》
《行者无疆》


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值