学完潭浩强的《C++程序程序》后,想深入C++学习,学谁编写的教材好

如题所述

(一)语言入门:

《C++ Primer》
最新版本:第三版(第四版国外已上架,国内一些网上书店也在预订中)
适合有丰富C经验,缺乏C++经验的。不过我个人一直认为此书带着过于强烈的C语言的痕迹,对于C++的学习未必是好事。
《The C++ Programming Language》/《C++程序设计语言》
最新版本:第三版特别版
简称TC++PL,有其他语言的丰富经验的。(也有人简称之为“TCPL”,但需与另一本《The C Programmer Language》区分开来)
《Essential C++》
《Accelerated C++》
这两本薄一些,都是不错的选择。《Accelerated C++》本人没有读过,从各方面的评价来看,完全值得推荐。
以上几本书都有相应的中文版,而且翻译的质量都不错。上面的书未必都需要读一遍,但无论如何,TC++PL是应该阅读的。

(二)进阶A:
这个路线侧重于语言本身
《Effective C++》
最新版本:第二版(第三版国外已上架,国内一些网上书店也在预订中)
简称EC。C++程序员必读!很多时候,我们说C++圣经不是指TC++PL,而是这一本。《The Pragmatic Programmer》一书中写到:“一旦你发现自己要参与C++项目的开发,赶快跑(不要走)到书店去购买Scott Mayer的《Effective C++》,可能还要《More Effective C++》”。
《C++ Coding Standards: 101 Rules, Guidelines, and Best Practices》/《C++ 编程规范》
个人认为此书应为C++程序员必备的案头书。几乎Effective系列和Exceptional系列都在这里得到了总结。最新的模版、异常的业界经验都在这里的到了体现。可能的唯一缺陷就是对一个新手而言,关于“为什么这么做”的问题,解释的不够。
我的看法是:如果你不理解其中的条款,记忆,并且照做;如果你理解其中的条款,我猜你一定会同意书中的观点。我认为这本书中的内容至少在2009年以前都不会过时,人们将广为传诵它制定的101条戒律。
还不知道他的简称,也许“101”会成为一个候选者?
提到《Effective C++》,那么另外三本书一一浮出水面:
《More Effective C++》
《Exceptional C++》
《More Exceptional C++》。
新书《Exceptional C++ Style》也是值得一看的好书。
上述几本书,一本也不应该放过。
个人建议上述书籍按顺序阅读。并且,在将来反复阅读这几本书。

(三)进阶B:
这个路线侧重于程序库。
《The C++ Standard Library》/《C++标准程序库—自修教程与参考手册》
听说过STL吗?这本书会教你最基本的,也是最重要的STL的使用。这本书,应该是必读的。
《Effective STL》
会使用STL还不够,还必须知道什么时候选择什么STL组件,这是STL使用的必读书。
《Generic Programming and the STL: Using and Extending the C++ Standard Template Library》/《泛型编程与STL》。
这本书理论性较强,但是真的很严谨,而且并不是非常难懂。理解其中对于Concept的解释,将是非常重要的。
《C++ STL》
这不是讲述使用程序库的,而是讲述程序库实现原理的。肠胃不好的,需要慢慢吸收。
这个路线的书,仍然是建议按顺序阅读。
进阶A、进阶B两个路线应该是可以并行的。

其他进阶参考书
提出这些参考书,只是避免争议,也为开阔视野,笔者并不曾完全读过所有的。
《Thinking in C++》/《C++编程思想》
这本书及其中文版传言好坏都有,没有认真看过,不做评价,如果确有兴趣,不妨尝试一下该书。
以下几本书基本上涉及的都是语言本身,大体上可以按照以下的顺序阅读。
《C++必知必会》
如果早一年,这本书将是重量级的,然而它被101和《Exceptional C++ Style》盖过一头。
《C++ Gotchas: Avoiding Common Problems in Coding and Design》/《C++程序设计陷阱》
这又是一本我未曾读过,而且广受好评的书。
《STL 源码剖析》
这本书我刚到手,就被人"借"走,以至于到现在也没有看过。看过这本书的朋友,可以给一个合适的评价。
高级:
《The Design and Evolution of C++》/《C++语方的设计和演化》
简称D&E,内容并不艰深,Bjarne的书,仅此,就值得一读。
前段时间,互动网曾8块一本(人民币)贱卖此书,现在好像没了。
《Inside The C++ Object Model》/《深度探索C++对象模型》
C程序员读后一定会觉得C++原来并不神秘。
《C++ Template》
在阅读STL、Boost或者Loki的源代码之前,请仔细阅读本书,它可以减轻一些阅读的烦恼。这本书是讨论C++模版的权威。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-09-08
《C++primer》 看完一遍到两边你就知道国内的c++教育和国外的有多少差距了。如果能把《C++primer》看完看透,《effective c++》和《more effective c++》将是你更好的选择。这三本书循序渐进,等你全部理解完就能算是熟练掌握C++了。

C++哪本教材比较好
1.觉得新人应该先从谭浩强的《C++程序设计》开始,这本书条理清晰,例子通俗。2.《C++ primer》是第二个选择,这是C++祖师爷的书,岂能错过?内容翔实,权威。3.看了前边两本就可以提高了《c++ essential》不错的选择 4.国内的话就是买谭浩强2004版,因为后来的版本都阉割了面向结构部分。

一个学期把谭浩强的C++程序设计学完了 现在完全不知道有什么用处 如 ...
A.谭浩强的C++是让你知道C++和C语言在代码风格上得一些差异,只能算是"听说C++",你甚至不知道C++能干什么,这只是一本简单语法的说明书。个人认为你看了这本书之后,依然不知道C++是什么东西,个人认为国人出的C++书都是TM垃圾(和国外\/台湾比较起来)只是浪费你阅读时间。B.如果你"听说C++"完成之后,...

谭浩强的C语言程序设计快学完了,接下来该学哪本书。
应该先把C语言学完全学扎实,了解C语言方方面面的知识,C primer plus 就很不错,我买的是中文第5版,里面对C的知识讲解的非常全面,提到了很多编译器的问题,比如在当今最流行的.net平台下编写C程序、LINUX下的C语言程序的编译等,还有许多C语言其他方面的知识。当你全面扎实的掌握了C的知识后,再...

在看完谭浩强老师的C++后,如果想继续学深一点,请问有什么资料推荐吗?谢 ...
先编写程序,提高自己的编程能力,另外先看一下C++语言版的数据结构,数据结构还是很重要的,提供了结构化程序的设计思想等。数据结构方面的程序也确实不好编写,但是一定要耐心,等你熟练运用所学知识后会有很大的收获 基础知识学完后,可以看一下C++ primer plus这本书,挺厚的,更详细,顺便复习一下 ...

c++之父的程序设计语言与c++primer哪个好一点?
C++。我建议用C++ primer 。虽然它很厚,不过讲得很详细,很多东西讲得很好。它也有缺点,就是有点难,章节方面有点混。建议以primer为本,辅助看点中国人编写的薄的书。不过薄的书,内容不够全面,只是更好理解。

初学C++是读谭浩强的C++程序设计还是读C++primer 还是C++ primer plu...
个人认为谭浩强得数还是不要看了,代码没有规范,而且讲得废话太多。《C++primer(或者Plus)》两本都是业内经典,个人认为能够用来作为工具书,两本加起来太厚了,一页一页看不是办法。另外C++学到后期最好还是选准方向,推荐学习win32或者MFC的方向做客户端开发。推荐《Windows程序设计》这本书,1300...

码上去学:C++从入门到进阶的系列书籍推荐!
首先,C++的入门阶段,需要打好C语言的基础。1.1《C语言程序设计》(谭浩强著):这本书是学习C语言程序设计的优秀教材,被全国大多数高校选用,是学习C语言的主流用书。内容通俗易懂,是初学者的必备书籍。在排查编译问题时,翻阅相关章节,精准的文字表述让人豁然开朗,很多学生时代难以理解的内容,在...

C++从入门到进阶的系列书籍推荐
1.1 C语言程序设计(谭浩强)本书被广泛采用为学习C语言的教材,通俗易懂,是初学者的必备读物。我在解决编译问题时,翻阅了该书的相关章节,精准的表述让我恍然大悟,很多学生时代未理解的内容,有了工作经验后,豁然开朗。1.2 C++ Primer 中文版(第5版)这是一本学习C++语言的经典入门教材,详细...

...和 C++之父写的 C++设计原理与实践 还有 C++程序设计语言 三本书那...
千万别看谭浩强的书,里面的错误多少就不说了,问题是你看了它以后根本写不出能用的程序,只能自娱自乐一下,c++ primer 第4版我看过,感觉还不错,建议不要着急,慢慢看这本。3~4个月把全书看完,里面习题全做一遍。

在对C、C++有基础的基础上要加深它们的学习,应该选择哪种教材更好?
,依据个人爱好而定。C语言参考手册是C99标准的研读,内容非常精炼。C++ primer 我觉得容易些,适合各个阶段学习,无论你是高手还是入门,都很适合。C++是混合型面向对象的,设计的理念我觉得比较重要。语言机制再深化,总有一天全部明白,但是程序设计的理念却不一样。

相似回答
大家正在搜