vc学习推荐书.docx

上传人:b****5 文档编号:7518536 上传时间:2023-01-24 格式:DOCX 页数:7 大小:22.80KB
下载 相关 举报
vc学习推荐书.docx_第1页
第1页 / 共7页
vc学习推荐书.docx_第2页
第2页 / 共7页
vc学习推荐书.docx_第3页
第3页 / 共7页
vc学习推荐书.docx_第4页
第4页 / 共7页
vc学习推荐书.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

vc学习推荐书.docx

《vc学习推荐书.docx》由会员分享,可在线阅读,更多相关《vc学习推荐书.docx(7页珍藏版)》请在冰豆网上搜索。

vc学习推荐书.docx

vc学习推荐书

 学习c++有什么经典书籍[转载] 收藏

在网上找了一些推荐c++书籍的文章,个人觉得这个不错,希望对大家有帮助。

讲一下我的经验。

首先,关于入门书方面,我觉得到现在我都没有看到一部适合初学者的C++ 入门书。

经典的书都是高手们写的,但根本不适合初学者看。

这大概是 C++ 族群增长的一大瓶颈。

我个人觉得最适合入门的一本书是「从 C 到 C++ 物件导向革命」,当然光看书名大家就猜到这是台湾的书了。

它是 1990 年的书,作者陈建维先生是当时 C++ 标准委员会的一员。

这本书我觉得相当不错,用不是很大的篇幅,从软件工程, OO 的思想、观念,到 C++ 语言。

甚至当时书的附录就已经提到 template 了。

可惜,这本书,现在已经找不到了。

我自己有一本,但被朋友借去,不知流落何方。

这是我第一本看的 C++ 的书。

当时在台湾,这本书和C++Primer,TheC++ProgrammingLanguage 并称三大经典。

 

《C++Primer》

 这本是我最喜爱的 C++ 经典之一。

可以说是经典中的经典。

现在出到四版了。

我看的是第三版,由 jjhou 译的。

当然,虽然它叫 Primer,但绝对不适合初学者。

尤其许多细节之繁复(像什么名称决议过程),保证让初学者吐血,我相信连许多老手都会觉得受不了。

 基本上我把这本书当作「字典」、「百科全书」类来看,每当一些细节不是很确定,就翻翻它。

有时晚上无聊抱著它,不知不觉睡著了。

这本书如果能够大致流览过,并且熟悉其中 60~70% 以上,我相信已经达到普通 C++ 高手的程度了。

当然,C++ 高手不等于软件高手。

精华区有一篇文章很好。

成为编程高手不难,成为设计高手才难。

C++ 其实可以只花很短(半年至一年)的时间就精通,但许多编程、软件设计经验的累积,那绝不是三、五年的事,通常都得十年八年以上。

 

 《TheC++ProgrammingLanguage》

C++ 之父,B.S. 的大作。

这本书我读的是特别版,也是台湾译的。

感觉上它比 C++Primer 更不适合初学者。

尤其是连程序设计都还搞不清楚的新手。

这本书的思想、哲学意味很浓厚,很多篇幅内容不是在讲语言的技术,而是在讲设计的思维。

如果看过C++Primer,再来看这本,应该会有比较多的体悟。

 内容方面,虽然不若 C++Primer 钜细靡遗,但很精致、简洁扼要,它不断抛出各种「设计」层次(而不是语法)的议题,冲击读者的思考,迫使你去关注更多编程的本质。

有些部份,我觉得 TheC++ProgrammingLanguage 比 C++Primer好,例如许多语言特征为何存在?

其应用时机,它给的范例都很适当,C++Primer 则比较注重语法和规则的完整诠译(毕竟大师是搞 Compiler 的专家)

 

    

《EffectiveC++》

这本书也是经典的经典,我推荐所有学过 C++,但自觉对 C++ 一知半解的人,从这本书开始「重新入门」。

它把 C++ 程序员最常犯的一些错误,不好的用法,忽略的重要细节,用 50 个条款,分门别类地一一列出。

虽然这些内容,在 C++Primer或其他大部头的经典著作,都不是没有写到。

但大概很难有人有耐心从头到尾看完。

(我猜作者自己也看不下去…)

这本书的好处就是,一次一个主题,把为什么要这样,来龙去脉,各种其他旧方法的缺点,不足之处,一一分析出来。

让读者确确实实了解并掌握优良的 C++ 编程风格的技术关键。

如果 C++Primer 看不下去的话,可以先从这本开始,遇到语法细节搞不清楚的时候,再去翻查 C++Primer 等教科书。

 

《MoreEffectiveC++》

同上,更深入的主题,某些议题已经可以算是 C++ 高手的程度了(也脱离教科书的范围),例如 LazyEvaluation,VirtualizingConstructors,ReferenceCounting,ProxyClasses…等,有些是特殊技术,有些已经算是 DesignPatterns 的东西。

这本书当然完全不适合入门者,它适合对 C++ 各种基本特征已经很熟悉的读者看。

 

《ExceptionalC++》

我第一次看这本书时,几乎怀疑我是否学过 C++。

但是现在,我只能说,这本也是经典中的经典。

它已经深入到接触 C++ObjectModel的层次。

特别是 Exception-Safety 这一章一系列的步步深入,很大程度上改变了我对 C++ 的认识。

此外,它有提到 PimplIdiom,这对改善 C++ 编译效率也有一定的帮助。

其他的主题,例如泛型编程和对标准库的几个讨论议题、暂时物件、物件寿命、自动转换…等,也颇有深度。

如果没看过这本,且对自己的 C++ 功力颇有信心的人,可以测试看看。

 

《InsideTheC++ObjectModel》

这本书和《EssentialCOM》,是我读不太下去的两本书。

仅供高手们参考。

适合有志深入 C++ 语言核心(例如想要 C++Compiler 的人)钻研。

其实它并不是很难,但我认为实用性不高,有时间,不如看看 Effective/ExceptionalC++ 系列。

 

《TheStandardC++Library》

经典中的经典,学 C++ 不学标准库,就像有脑子却没手脚,难以施展。

C++ 标准库和大型的 J2EE,.NET 等框架相比,算是很阳春的(有个笑话是∶JAVA,.NET 里面有许多你一辈子永远不会用到的东西)。

C++ 标准库只规范了标准 I/O ,流,异常,算法和数据结构,还有一些国际化议题。

一些重要的功能,如∶ IPC,GUI 等等,都不在其内。

这本书是德国人写的,内容务实中肯,获得世界一致好评。

书中前面有一章特别介绍 C++ 泛型编程基础,讲得很清楚,是我看过最好的入门书(学习 STL)、兼工具书、参考书。

虽然很大本,但绝对值得买一本。

 

《C++Templates》

这本书好像是 2001 年出的,中译本在台湾直到去年才出来。

内容完全针对 template 所有的技术细节及应用,丰富得叫人难以想像。

有时候,我觉得 template 一直玩下去,会走火入魔,这本书的内容,某些时候给我这种想法。

不过还是值得一看。

 

《ModernC++Design》

这本书是近两年我最爱的一本 C++ 的书,我简直爱死它了!

作者把C++template 的编程技术,推向一个崭新的世界,让许 C++ 大师级人物,都目瞪口呆的一本书!

巧妙地结合 GP 和 OO,让动态多型和静态多型完美地合作无间,也让 DesignPatterns 领域,有了全新的视野和思维。

它的实作品,Loki 函式库也是我常常运用到的(虽然只有部份能通过编译,正常的工作)。

一本有志成为 C++ 高手绝对不可错过的书。

当然,在此之前,要先把 C++Primer等先学好再说。

 

《TheDesignandEvolutionofC++》(D&E)

这本书台湾没有译,我起初看的是英文版,后来知道北京有译这本书,就托同事的朋友买回来。

这本书不适合学习,适合对 C++ 发展历程有兴趣的人看C++ 之父现身说法,亲自讲述,C++ 是根据哪些原则原理产生的它的各种语言特征,取舍之间,又经过了什么特殊考量。

此外,有些历史因素,影响 C++ 的发展,里面都有提到.我当作小说在看的一本。

 此外,《MoreExceptionalC++》和《C++Gotchas》这两本不知为何,我觉得不太喜欢,虽然它讨论的议题都很深入。

或许实用性不高的关系,我老是觉得它似乎有点C++ 学究的味道。

不过,这两本也是公认的经典。

还有很多其他的,例如 thinkinginC++ 或 C++ 沉思录,也都是经典,前者也不错,蛮适合当参考书用(后者比较像故事书)。

但以学习 C++ 而言,我认为 C++Primer,TheC++ProgrammingLanguage 这两本比较适合(兼具教科书和参考书的价值),另外,EffectiveC++ 也很棒。

不过看个人喜好,因为也有许多人认为ThinkinginC++比较好。

《EssentialC++》这本,评价不高,它既不如 C++Primer 完整,也不适合初学者,只能说是聊备一格。

应该不用买。

另外,专讲 STL 的书也很多,有的也很深入,但从实用的角度,我认为只要一本 TheStandardC++Library 就大致足够了。

EffectiveSTL 可以当参考书看看,也是一本很不错的书。

 除了 C++ 以外,《DesignPatterns》、《Refactoring》这些与语言无关的书也不错, 虽然有的范例不是用 C++ 写的。

其实对其他语言的使用者而言,很难接受学个 C++ 要看这么多书(我想也只有 C++ 的热爱者,才会真的去读这些书)。

编程的世界是无远弗届的,任何技术都有存在价值,所以除了 C++ 之外JAVA,.NET 等都可以去碰碰,没什么损失。

C++ 要实用,还要学习许多 GUI,Database,IPC 等等的 Framework,这些东西没有统一标准,可说凭个人的选择,通常是基于工作环境的需要。

语言入门:

  

有丰富C经验,缺乏C++经验的:

《C++Primer(3RD)》  

有其他语言的丰富经验的:

《TheC++ProgrammingLanguage》简称TCPL(对不住纯C的fans了)  

如果选择薄一点的书:

《EssentialC++》《AcceleratedC++》都是不错的选择。

  

其实,我个人一直认为C++Primer带着太过强烈的C的痕迹,对于学习C++未必是好事。

  

AcceleratedC++我没有读过,从各方面的评价来看,完全值得推荐。

  

这几本书都有相应的中文版,而且翻译的质量都不错。

上面的书未必都需要读一遍,但无论如何,TCPL是应该阅读的。

  

进阶A:

  

这个路线侧重于语言本身  

《EffectiveC++》简称EC,C++程序员必读!

如果我有权招聘程序员的话,没有读过这本C++“圣经”的人,大概...很多时候,我们说C++圣经不是指TCPL,而是这一本。

  

《C++CodingStandards:

101Rules,Guidelines,andBestPractices》简称《C++编程规范》,个人认为,这是C++程序员必备的案头书。

几乎Effective系列和Exceptional系列都在这里得到了总结。

最新的模版、异常的业界经验都在这里的到了体现。

可能的唯一缺陷就是对一个新手而言,对于为什么这么做,解释的不够。

我的看法是:

如果你不理解其中的条款,记忆,并且照做;如果你理解其中的条款,我猜你一定会同意书中的观点。

我估计,这本书中的内容至少在2009年以前都不会过时,人们将广为传诵它制定的101条戒律。

还不知道他的简称,也许101会成为一个候选者?

  

提到《EffectiveC++》,那么另外三本书一一浮出水面:

  

《MoreEffectiveC++》简称MEC,  

另有CHM版的  

《ExceptionalC++》和《MoreExceptionalC++》。

  

新书《ExceptionalC++Style》也是值得一看的好书。

  

上述几本书,一本也不应该放过。

  

个人建议上述书籍按顺序阅读。

并且,在将来反复阅读上述几本书。

  

进阶B:

  

这个路线侧重于标准程序库。

  

《TheC++StandardLibrary》听说过STL吗?

这本书会教你最基本的,也是最重要的STL的使用。

  

STL编程指南(Programmer'sGuide)电子书  

  

中文版名称:

《C++标准程序库自修教程与参考手册》,这本书,应该是必读的。

  

《EffectiveSTL》会使用STL还不够,还必须知道什么时候选择什么STL组件,这是STL使用的必读书。

  

《GenericProgrammingandtheSTL:

UsingandExtendingtheC++StandardTemplateLibrary》,中文名称《泛型编程与STL》。

这本书理论性较强,但是...但是真的很严谨,而且并不是非常难懂。

理解其中对于Concept的解释,将是非常重要的。

  

《C++STL》这不是讲述使用程序库的,而是讲述程序库实现原理的。

肠胃不好的,需要慢慢吸收。

是不是翻译的问题呢?

cber,你先贿赂我一下的说^_^  

这个路线的书,仍然是建议按顺序阅读。

  

AB两个路线应该是可以并行的。

  

其他进阶参考书  

提出这些参考书,只是避免争议,我只认真看完了其中的一本。

  

《ThinkinginC++》这本书及其中文版传言好坏都有,没有认真看过,不做评价,如果确有兴趣,不妨尝试一下该书。

  

《C++必知必会》,如果早一年,这本书将是重量级的,然而它被101和《ExceptionalC++Style》盖过一头。

  

《C++Gotchas:

AvoidingCommonProblemsinCodingandDesign》,这是一本我未曾读过的书,而且广泛的获得好评。

中文版《C++程序设计陷阱》  

《STL源码剖析》这本书我刚到手,就被人“借”走,以至于我到现在也没有看过。

看过这本书的朋友,可以给一个合适的评价。

  

《ImperfectC++》,这确实是一本好书,个人认为不大适合缺乏工程经验的人。

不过,如果你看完了前面步骤的书,那么看这一本书将是一件非常轻松的事情。

书中光盘所附的stlsoft库还真的是一个精品。

到目前为止,这本书我刚看了一半。

  

高级:

  

《TheDesignandEvolutionofC++》简称D&E,内容并不艰深,Bjarne的书,仅此,就值得一读。

  

《InsideTheC++ObjectModel》中文版:

《深度探索C++对象模型》,这个C程序员一定会觉得C++原来并不神秘。

  

《C++Template》在阅读STL、Boost或者Loki的源代码之前,请仔细阅读本书,它可以减轻一些阅读的烦恼。

这本书是谈论C++模版的权威。

  

《ModernC++DesignGenericProgrammingandDesignPatternsApplied》简称MCD,中文书名《C++设计新思维?

?

泛型编程与设计模式之应用》。

在阅读MCD之前,简易先阅读C++Template。

  

你对C++觉得不满吗?

《对象揭秘:

Java、Eiffel和C++》可以部分的帮助你完成抱怨的目标。

也许它还可以让你不迷信C++。

  

另外,一份C++标准文档也应该是加以咀嚼的。

  

还有一些书籍,并不能简单的归于C++,也难以在纯粹的书本学习中加以掌握。

《设计模式》一书就是这样。

因此,这里推荐的仅仅限于C++语言本身。

  

所有上述的书籍,不是谈论C++语言本身,就是谈论STL的。

偶尔,某些书中条目也会涉及问题相关的现实工程。

这些书并不是C++软件开发的全部,但是他们很重要。

阅读这些书,未必需要化费太多的精力,有时候会困难,有时候会很快速。

回顾我自己阅读上述书籍的经历,这差不多是3年的时间。

  

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1