现在的位置: 首页 > 综合 > 正文

如何学好c++,还是好好看书籍吧!

2014年08月25日 ⁄ 综合 ⁄ 共 3073字 ⁄ 字号 评论关闭

         在程序员的江湖中,编程语言就相当于每一位行走在IT江湖中侠客的兵器。不同侠客随身携带的各种各样的武器就相当于程序员掌握的各种各样的编程语言。而c++语言作为每一位程序员必备的编程语言,c++在兵器谱的排名上一直占据着榜首的位置。如何让每一位侠客熟练使用自己的兵器,让兵器更好的提升自己武功,侠客必定是想尽一切办法去寻找武功秘籍。程序员如何能够提升自己的能力,最常见的是找到最经典的书籍,熟练掌握了这些书籍上的知识,才能在实际的项目使用这些知识收放自如。

        下面列出一些经典的C++练级书籍:

        1.基础篇:

          首当其冲的必须是中国计算机公认的鼻祖—谭浩强编写的《C++程序设计语言》

          c++语言之父Bjarne   Stroustrup的 《The   C++   Programming   Language》

          如果说Bjarne   Stroustrup是c++语言之父,那么Stanley   B.   Lippman就是c++语言之母了。   Stanley   B.   Lippman和Bjarne   Stroustrup为c++的诞生做出了杰出的贡献,当然也给c++的学习带来了福音。Stanley   B.   Lippman编写的c++基础书籍有《C++   Primer》和《Essential   C++》,后面的进阶书籍必然还会有Stanley   B.   Lippman的。

          Koenig夫妇Andrew   Koenig   and   Barbara   E.   Moo作为计算机领域的顶尖专家,他们的书籍偏实际应用,注重编程实践。他们的基础书籍有 《Accelerated   C++》

        2.提高篇:

         Scott   Meyers编写的《Effective   C++》以及《More   Effective   C++》可以认为是c++学习的圣经,遵守该书中的条条款款,能够让你在实际应用中受益匪浅。

         Herb   Sutter编写的《  Exceptional   C++》,《More   Exceptional   C++》、《Exceptional   C++   Style》,阅读这些书会让你有醍醐灌顶的感觉,每读一遍,会让你感觉学好一门编程语言如此困难,同时又会让你感觉掌握一门语言又是如此简单。

        Bruce   Eckel的《Thinking   in   C++》也是作为c++语言的提高必看书籍。还有《C++   Gotchas:   Avoiding   Common   Problems   in   Coding   and   Design》讲述C++程序设计的陷阱,广受好评。

        3.进阶篇:

        前面对c++语言的语法、使用规范有了一定的了解,而在实际的应用中,我们经常会用到STL以及相关的开源库,如boost,正像有人说的不会使用STL、boost就没有真正学会使用c++。

         作为C++   Template的作者以及C++标准委员会的成员Nicolai   M.Josuttis编写的《The   C++   Standard   Library》,同时从它的副标题A   Tutorial   and   Reference   by   Nicolai   M.Josuttis就可以看出这本书就是C++标准程序库的自修教程与参考手册,作为c++ STL的字典使用。

         学会查阅c++ STL当然不够,还需要学会在正确的时间正确的地点正确选择STL的组件,那么《Effective   STL》是不可必须要看的。

         还有一些相关的STL书籍,如David   Vandevoorde,   Nicolai   M.   Josuttis合作编写的《C++   Template》,全面的介绍模版的使用细则。虽然本书介绍的细节不是特别细致,但是要想阅读Boost或者Loki的源代码,提前阅读本书,将为你减重不少。不管怎么样。此书也还是c++ STL的权威书籍。

        4.高级篇:

        c++高级篇,我们已经不能满足于学了c++的知识,而要从内部来了解c++语言,c++语言的内涵以及设计的原理。该篇书籍有了一定的深度。

        Stanley   Lippman的《Inside   the   C++   Object   Model》,侯捷老师的中文翻译版《深度探索C++物件模型》对书中出现的错误进行了改正。本书对虚继承,临时对象等令人麻烦的深层问题进行了剖析,同时Lippman以一位专家的身份给了我们一个深窥语言内部的可能,能使解决了许多语言实现方面的令人困惑的问题。

        Matthew   H.Austern的《Generic   Programming   and   the   STL:   Using   and   Extending   the   C++   Standard   Template   Libra  》作为泛型编程的理论入门书籍,理论严谨,对基本概念进行解读,但难度不大,不是很深。

        P.J.Plauger和Meng   Lee作为STL的设计人员,他们的书籍《C++   STL》,讲述STL实现的原理,而不会去讲述如何使用STL,需要一定的耐性品读,急功近利的读者很难坚持读完。     

        Margaret   A.Ellis   and   Bjarne   Stroustrup  编写的《The   Annotated   C++   Reference   Manual》,将对标准库的全面解析,需要慢慢品读。  

        David   Abrahams   and   Aleksey   Gurtovoy的《C++   Template   Metaprogramming   :   Concepts,   Tools,   and   Techniques   from   Boost   and   Beyond》对模版元编程进行解析,可谓是一本非常专业的参考书,十分细致地讲述了高级的模板技术。  

         前面有了这么多的理论书籍,   作为Real公司的项目经理Andrei   Alexandrescu,是泛型模板技术的天才,他的书籍《Modern   C++   Design   :   Generic   Programming   and   Design   Patterns   Applied》,讲述开源库Loki,并对BOOST的设计产生了影响,例如BOOST的adaptor设计,以及标准库的智能指针项目。  

         5.  整体提高篇:

         c++作为一门编程语言,如果仅仅学习c++,对编程的整体提高必然有一定的缺陷。下面简单列举一些整体提高的书籍。

        Erich   Gamma,Richard   Helm,Ralph   Johnson,and   John   Vlissides四人帮编写的《Design   Patterns》可以认为是面向对象设计的必读书籍。看完了本书之后,OO的设计模式会深入里的大脑。

        任何事物都是有缺陷,c++同样是不完美的。Matthew   Wilson的《Imperfect   C++》,讲述c++并不是完美的,同时本书介绍了许多新技术,以及很多有趣的技术。  

         编程语言有好多种,《对象揭秘:Java、Eiffel和C++》讲述不同的语言的缺陷以及优势。看了本书,会让你不迷信任何一种语言。    
写在最后:有人的地方就有江湖,有电脑的地方就需要编程语言。c++语言作为编程语言的佼佼者,需要查看书籍慢慢提高。集众人之力,站在巨人的肩膀上,更好的提高自己。

抱歉!评论已关闭.