您好,欢迎访问三七文档
这句说的好:“最后,编程语言并非计算机科学技术的全部,尤其对于在校的学生来说,打好基础、开阔视野都是非常重要的。”一)语言入门:《C++Primer》最新版本:第三版(第四版国外已上架,国内一些网上书店也在预订中)适合有丰富C经验,缺乏C++经验的。不过我个人一直认为此书带着过于强烈的C语言的痕迹,对于C++的学习未必是好事。《TheC++ProgrammingLanguage》/《C++程序设计语言》最新版本:第三版特别版简称TC++PL,有其他语言的丰富经验的。(也有人简称之为“TCPL”,但需与另一本《TheCProgrammerLanguage》区分开来)《EssentialC++》《AcceleratedC++》这两本薄一些,都是不错的选择。《AcceleratedC++》本人没有读过,从各方面的评价来看,完全值得推荐。以上几本书都有相应的中文版,而且翻译的质量都不错。上面的书未必都需要读一遍,但无论如何,TC++PL是应该阅读的。----------------------------------------------------------------------------------------------------------------------(二)进阶A:这个路线侧重于语言本身《EffectiveC++》最新版本:第二版(第三版国外已上架,国内一些网上书店也在预订中)简称EC。C++程序员必读!很多时候,我们说C++圣经不是指TC++PL,而是这一本。《ThePragmaticProgrammer》一书中写到:“一旦你发现自己要参与C++项目的开发,赶快跑(不要走)到书店去购买ScottMayer的《EffectiveC++》,可能还要《MoreEffectiveC++》”。《C++CodingStandards:101Rules,Guidelines,andBestPractices》/《C++编程规范》个人认为此书应为C++程序员必备的案头书。几乎Effective系列和Exceptional系列都在这里得到了总结。最新的模版、异常的业界经验都在这里的到了体现。可能的唯一缺陷就是对一个新手而言,关于“为什么这么做”的问题,解释的不够。我的看法是:如果你不理解其中的条款,记忆,并且照做;如果你理解其中的条款,我猜你一定会同意书中的观点。我认为这本书中的内容至少在2009年以前都不会过时,人们将广为传诵它制定的101条戒律。还不知道他的简称,也许“101”会成为一个候选者?提到《EffectiveC++》,那么另外三本书一一浮出水面:《MoreEffectiveC++》《ExceptionalC++》《MoreExceptionalC++》。新书《ExceptionalC++Style》也是值得一看的好书。上述几本书,一本也不应该放过。个人建议上述书籍按顺序阅读。并且,在将来反复阅读这几本书。(三)进阶B:这个路线侧重于程序库。《TheC++StandardLibrary》/《C++标准程序库—自修教程与参考手册》听说过STL吗?这本书会教你最基本的,也是最重要的STL的使用。这本书,应该是必读的。《EffectiveSTL》会使用STL还不够,还必须知道什么时候选择什么STL组件,这是STL使用的必读书。《GenericProgrammingandtheSTL:UsingandExtendingtheC++StandardTemplateLibrary》/《泛型编程与STL》。这本书理论性较强,但是真的很严谨,而且并不是非常难懂。理解其中对于Concept的解释,将是非常重要的。《C++STL》这不是讲述使用程序库的,而是讲述程序库实现原理的。肠胃不好的,需要慢慢吸收。这个路线的书,仍然是建议按顺序阅读。进阶A、进阶B两个路线应该是可以并行的。其他进阶参考书提出这些参考书,只是避免争议,也为开阔视野,笔者并不曾完全读过所有的。《ThinkinginC++》/《C++编程思想》这本书及其中文版传言好坏都有,没有认真看过,不做评价,如果确有兴趣,不妨尝试一下该书。以下几本书基本上涉及的都是语言本身,大体上可以按照以下的顺序阅读。《C++必知必会》如果早一年,这本书将是重量级的,然而它被101和《ExceptionalC++Style》盖过一头。《C++Gotchas:AvoidingCommonProblemsinCodingandDesign》/《C++程序设计陷阱》这又是一本我未曾读过,而且广受好评的书。《STL源码剖析》这本书我刚到手,就被人借走,以至于到现在也没有看过。看过这本书的朋友,可以给一个合适的评价。----------------------------------------------------------------------------------------------------------------------高级:《TheDesignandEvolutionofC++》/《C++语方的设计和演化》简称D&E,内容并不艰深,Bjarne的书,仅此,就值得一读。前段时间,互动网曾8块一本(人民币)贱卖此书,现在好像没了。《InsideTheC++ObjectModel》/《深度探索C++对象模型》C程序员读后一定会觉得C++原来并不神秘。《C++Template》在阅读STL、Boost或者Loki的源代码之前,请仔细阅读本书,它可以减轻一些阅读的烦恼。这本书是讨论C++模版的权威。《ModernC++DesignGenericProgrammingandDesignPatternsApplied》/《C++设计新思维——泛型编程与设计模式之应用》简称MCD。在阅读MCD之前,建议先阅读一下《C++Template》。《对象揭秘:Java、Eiffel和C++》你对C++不满吗?这本书可以部分地帮你完成抱怨的目标。也许它还可以让你不迷信C++。最后,一份C++标准文档也是应该加以咀嚼的。还有一些书籍,并不能简单的归于C++,也难以在纯粹的书本学习中加以掌握。《DesignPatterns》/《设计模式》一书就归于此类。所有上述的书籍,要么谈论C++语言本身,要么谈论STL的,要么兼而有之(当然严格讲STL也是C++语言非常重要的一部分)。偶尔,某些书中条目也会涉及实际工程。这些书并不是C++软件开发的全部,但是他们很重要。阅读这些书,未必需要化费太多的精力,有时候是会困难,但也有时候会很快速。最后,编程语言并非计算机科学技术的全部,尤其对于在校的学生来说,打好基础、开阔视野都是非常重要的。1.《C++Primer》Lippman写的,经典中的经典,C++入门的宝典,读完这本书,基本语法过关,部分技巧掌握。2.《TheC++programminglanguage》C++的创始人BjarneStroustrup写的,这本书的权威性毋庸置疑,而且这里面讲到了一些比较底层的东西,如果你看过了《C++Primer》的话,这本书可以跳着看,懂的就跳过。3.《EffectiveC++》ScottMeyers顶级大师用活泼幽默的语言写的书,这本书中讲到了许多应该注意的问题,这是十分值得购买的书。(Lippman曾把程序员分为看过effectivec++的和没看过的两类。由此可见此书的重要性)4.《MoreEffectiveC++》上书的姊妹篇,这本书里讲到了许多关键性的技术,对提高程序的效率是非常有帮助的。5.《AdvancedC++》这是一本神奇的书,里面讲到了许多连C++设计者都没想到的妙法,解决了许多看似不可能解决的问题。ScottMeyers曾隆重推荐过的书。6.《InsidetheC++ObjectsModel》又是Lippman的大作!这本书讲到了他在开发第一个C++编译器时的许多想法,彻底解析了C++底层机制是如何实现对象模型的,看过这本书,你对C++的了解会有质的飞跃!从这刻起,你有权力说你是一个C++程序员了!光学C++语言基本上看完上述的书就是高手了,其他经验要在实践中累积,这是我个人的经验。另外,你学了C++还要开发程序,开发软件,无疑要使用MFC之类的东西《APIProgramming》和《MFCWindows程序设计》两书值得一看。这两本书能迅速提高你的实践水平。【学习基本路线图】顺序:基本原理(进制转换啊什么的)--C(学习能力强的可以从C++开始)--API--C++语法--操作系统原理--MFC--数据库--数据结构--硬件--领域编程(根据你自己以后的行业特点的专业性编程)最后从数据库开始可以交叉进行。【学习方法】1.基本原理:这个部分主要理解就行了,至于是不是非要记住十六进制怎么转换二进制啊,CPU结构图啊什么的,完全没有必要。记住主要是理解,记忆并没有什么意义,有些人略过这些一样能学会C++,之后回头再详细学习效果会更好,更开始就大概知道有这个回事就行了。推荐书籍:《微机原理与接**术》作者:牟琦这本书看到第23页就行了,知道进制转换的大概方法和有这么一回事就行了。《汇编语言》第二版作者:王爽(只看第一,二,三章)这是第一本让我觉得过人也能写出好书的书,相当经典,汇编领域过人写的出还真的是不错,一本80X86领域的就是这本,WIN32的就是罗云彬的那本《WIN32汇编程序设计》第三版,现在好像出第四版了,叫什么玉拙成器什么什么的。2.C既然我们是学习C++,那么C就是路过的,C是一门面向过程的语言(哲学说法,现在你还不需要懂,不要怕呵呵),而C++是一门面向过程的语言(也是哲学呵呵,不懂先别着急,这个要慢慢去领悟),说白了,C++是C的一个超集,对C做了一些有意义的扩充,这个说多了暂时你还不明白,总之这个阶段的学习有些人喜欢从C开始,有些人喜欢直接从C++开始,其实多半都是一样的,学了C以后你学起来C++更加简单,因为很多东西都是一样的,著名的《C++primerplus》就把C++的学习分成了两个部分,C部分和C++部分。推荐书籍:如果你想快速掌握C和C++的基础语法,那么选择谭浩强的绿本本吧,这本书写的很简陋,快速浏览一下C和C++的基础语法还是可以的,真正掌握就算了吧。还有网上不论青红皂白推荐的书下面做一下介绍:回复最多的无非就是两本:谭浩强C和K&RC,K&R是C的创始人,他们的书根本不适合新人去看,到不是有多难,他们只是在建立一种标准,而不是一本真正的教程。个人认为真正想学习C的人,看清楚了,真正想学习C的人啊,不是路过的人,应该看一下《Cprimerplus》,这本书有些罗嗦,但是讲的很全面,可以当字典使用。3.API这部分的话,其实是慢慢积累的,你去Google查一下什么是API就好了,学习Windows原理的时候你会理解到是个什么东西的,大概说起来就是微软给我们提供了一些封装好了的函数,我们可以调用过来实现一些简单而且常用的功能,比如MessageBox是弹出一个窗口,你只要在他的参数里自己设定大小啊和现实什么啊就是了。推荐书籍:MSDN微软提供的字典式的帮助文档,这个是你积累API什么的最好的老师。3.C++重点来了,如果你前面学习了C,那么你现在可以先温习一下C的语法,因为在你没有学习面向对象之前,C和C++的语法是基本一样的,注意是基本,循环啊,指针啊,数组啊,结构啊,函数啊,+—×/%啊什么的。然后你要开始重要的一步:学习C++自己独有的特性,类啊,封装啊,重载啊,多态啊,继承啊什么的,这些都是非常重要的,在你日后写Windows程序的时候都是经常用到的知识,并且是必不可少的。推荐书籍:《C++primerplus》第五版中文版这本书详细到真是有些罗嗦,C++的每一个角落都不放弃,学习的时候不求掌握所有的特性,但是必须去理解,以后你遇到了不懂的或者比较生疏的可以回头来查,这样学习的才比较扎实。《C++primer》第四版这是C++领域里我读过最经典的书籍之一了,在这本书里,你将震惊于大师
本文标题:c++学习路线全
链接地址:https://www.777doc.com/doc-2901633 .html