正文

推荐C++教程(综合了好几个人的推荐)2005-12-06 23:45:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/xiangyu/7907.html

分享到:

安安注:总体而言这里面的推荐比较客观,在我的blog里面还收集了荣耀的《C++程序设计之四书五经》,见:http://blog.programfan.com/article.asp?id=5018  大家特别是初学者就综合大家之言选择适合自己的书籍吧。

推荐C++教程

1.  <<The C++ Programming Language>> , Bjarne Stroustrup
这是一本每个人都应该买但不一定要看的书,强烈建议初学者不要看这本书,否则可能会一头雾水,失去信心,BS写书本来就不怎么样,他自己都说他的书有些晦涩难懂,但是买一本放在书柜里,有什么不清楚的地方查查高人如何解析还是有必要的。中文版是裘老师翻译的,以裘老师的深厚功力,技术上大家大可放心,但语言流畅上我就不敢认同了,况且这还是一本大书,如果要追求语言流畅的话,可能没有两3年是出不来的,而且国内的出版社又那么急功近利,稿酬不高,做得那么好有必要吗?

2.  <<C++ Primer>> , lippman 
lippman的地位自然不用猜疑,此书也被评为C++的最佳入门书籍,也是Lipman写得最认真的一本书,第3版在国内98年就有了。全书可谓是C++大全,深度适当,比较适合初学者,或者想对C++和程序设计有大概了解的读者, 但就是比较厚,这也只能怪C++的源远流长,总是在打园场,不断增加新特性,让我们这群读者都不得不捧着这本大书品读。中文版是潘老师翻译的,文字通顺,但缺乏味道,看着一本千来页的书,而且前面一部分讲的都是程序设计思想,容易令人产生困倦,也难怪很多人半道出家学java。
 
3.  <<effective C++ >> Scott meyer 同下

4. <<more effective C++>> , meyer
这年本书乃是改善设计思维和设计思想的必读书籍,书中每个item莫不是经过千锤百炼之后得出。其中,effective比较浅显易懂,每个item都比较短,而more设计思想更进一层,有些item已经多多少少有设计模式的味道。我看过的是繁体版,这两本书候老师翻译得不错(我觉得是候老师翻译得最好的两本书,比较认真),读起来比较有味道。建议初学者在看完一本C++比较完整的书后直接拜读此2书。

5.   <<The C++ standard library>>
就是现在卖得比较热的书,梦魇和候节翻译的,翻译得很好,语言很通顺,技术上也很好,只是书中有些代码我是调试不过,或许只能怪STL里面有几个经典错误,不知看这本书的读者发现了没有?我严重建议C++的初学者看这本书,先知道应该怎么来用C++,怎么来充分利用标准库,而不是一头钻入C++的庞大晦涩语法里面,先用标准库才能养成良好的代码编写风格,更可以提高自己的实作能力,否则你如果花上一年半载在C++的语言细节上,可能自己都生气为什么还是写不出好的程序出来,公欲善其事,必先利其器就是这个道理。
 

6.   <<modern C++ design >>  Andrei Alexandrescu
这是天才Andrei Alexandrescu的作品,很好的一本高阶书,此书我只是浏览一下大概,没有仔细看,有些地方看不懂,全书把C++和设计模式融为一体,向人展示了许多不平常的设计技巧与设计规范,令人折服。但有些难度,还望各位慎重。至于里面的技术实不实用,就要因人而异了。


7. <<C++ Template>>  据说书中展示了模板的精华之处


8. <<exceptional C++ 和more exceptional C++>> 
Herb Sutter的书读起来比较轻松,此2书可以作为effective与more effective的姐妹篇,写作风格有些如苏格拉底的提问式教学,但应用得还不够火候。书的内容确实不错,定位和effective差不多,但我个人而言还是更喜欢Meyer的书。More有中文版,有Lostmouse翻译,质量一般,翻译给人的感觉比较仓促,很多地方都过于直译,味道怪怪的。


9. <<essential C++>>  lippman  (其实这本书没必要看,作者的这本书是定位于没有接触c++的其他的程序员速成c++的,初学者也不是很适合,而不是初学者就没必要看了,因为比较简单,安安注)很简单的一本书,初学者如果觉得自己确实很菜可以先看这本书,你肯定能看懂,也是lippman的书,但英文版有些地方值得商榷,还是看候节的中文版吧,翻译得还可以,就是台湾味道太浓了些,有点喧宾夺主之嫌。如了门的读者就没必要看这本书了,看它还不如看lippman的inside the C++ object model呢。
 

10 . <<designing and coding reusable C++>>  关于重用和程序库设计的一本书,是由AT&T的Ellis夫妇写的,书写得很好,充分考虑了设计可重用程序库的方方面面,对于每个想设计程序库和的读者都应该看这本书,中文版名是《设计和重用C++程序库》,即将出版。


11.  <<thinking in C++>> 我是觉得此书一般,并没有外面吹的那么好,可以说是中等偏上吧,要看就要看英文版的,中文版的千万别看,那个译者太不负责了 

12. <<Runmination on C++>>   据说人邮既要出版了,是由konnig夫妇写的,如果你想知道cfront的历史,还想清楚cfront的领导者,就找他们夫妇吧,那时,konig和BS是独立的,而其它的人都是由konig夫人Barbara领导的,konig在C++中可算是number 2,属于学术派的那种,实际上C++也是分派别的。 英文版的质量肯定很好,有很多新的设计观念,中文版还要期待,看看结果如何。  (这本书好像早就出版了,中文名《C++沉思录》,不过在第二书店和china-pub没没有了,好像说是绝版了,书店应该还是可以买得到,不行就网上电子版自己打印一下就ok了,安安注)

13. <<Accelerated C++>> 也是koenig和Barbara夫妇写的,据说很好,但我没机会看,实在不敢评价。 (据说这本书是很经典的C++入门的书籍,安安注)

14   <<C语言接口与实现:创建可重用软件的技术>>

 

下面是另外一个推荐的,有些书已经有中文版了,大家可以去china-pub看看谁翻译的,翻译得怎么样,然后根据自己的英语水平选择看中文还是英文。

此处学习C++的分了两个系列:C++/OPP/OOD系列和Genericity/STL系列。
第一系列:C++/OPP/OOD系列:分四个层次。
层级一:语法/语意(C++)

这个层次的推荐并不好,前面的基本其实不是很合适,主要是不是最好的。安安注

[Lippman2000] Essential C++
Essential C++,by Stanley B. Lippman Addison Wesley Longman 2000,276 pages
Essential C++ 中文版 ,侯俊杰 译,282页 

[Gregory95] C++:The Core Language
C++:The Core Language by Gregory Satir 1995 O'Reilly
C++语言核心,张铭泽 译 ,236页

[Deitel98] The Complete C++ Training Course
The Complete C++ Training Course 2/e by Harvey M.Deitel 1998 Prentice Hall
C++大学教程(第二版),邱仲潘等 译,816页

[Stevens2000] Standard C++ Bible
Standard C++ Bible   2000  Al Stevens   IDG
标准C++宝典,林丽闽等 译,766页

[Eckel2000] Thinking in C++
Thinking in C++ 2/e   Bruce Eckel  2000 1470 pages Prentice Hall
C++ 编程思想,刘宗田等 译,420页

[Lippman98] C++Primer
C++ Primer,3rd Editoin,by Stanley Lippman and Josee Lajoie
 Addison Wesley Longman,1998 1237 pages
C++ Primer 中文版,侯俊杰 译,1999,1237页

[Struostrup2000] The C++ Programming Language
The C++ Programming Language,Special Editoin,by Bjarne Stroustrup
 Addison Wesley Longman,2000,1017 pages
C++程序语言经典本,叶秉哲 译,儒林 1999

[ANSI C++] C++规格书 1998.9.1 PDF格式
ANSI C++ 1996 Draft


层级二:专家经验(C++/OOP)
[Meyers96] More Effective C++
More Effective C++,by Scott Meyers,Addison Wesley,1996,318pages
More Effective C++中文版,侯俊杰,培生 2000. 318页

[Meyers98] Effective C++
Effective C++,Second Edition,by Scott Meyers,Addison Wesley Longman,1998.256pages
Effective C++ 2/e 中文版,侯俊杰,培生 2000.256页

[Sutter99] Exceptional C++
Exceptional C++,by Herb Sutter,Addison Wesley Longman,2000.208pages
Exceptional C++中文版,侯俊杰,培生 2000.248页
 
[Sutter2001]More Exceptional C++
More Exceptional C++ by Herb Sutter,Addison Wesley Longman,2001.

层级三:底层机制(C++ Object Model)
[Ellis90] The Annotated C++ Reference Manual
The Annotated C++ Reference Manual,by Margaret A.Ellis and Bjarne Stroustrup
Addison Wesley Longman,1990,447 pages.

[Lippman96] Inside the C++ Object Model
Inside the C++ Object Model,by Stanley Lippman,Addison Wesley Longman,1996,280pages
深度探索C++物件模型,侯俊杰 译


层级四:设计观念的复用(C++/Patterns)
[Gamma95] Design Patterns:Elements of Reusable Object Oriented Software,
by Erich Gamma,Richard Helm,Ralph Johnson,and John Vlissides,Addison Wesley,1995.395pages
设计模式,李英军等译,机械工业出版社,2000.254页

[Alex2001]Modern C++ Design: Generic Programming and Design Patterns Applied
by Andrei Alexandrescu,Addison-Wesley,2001,352Paper
 

第二个系列:Genericity/STL系列:
第一个境界是使用STL:
[Josuttis99]:The C++ Standard Library -A Tutorial and Reference,by Nicolai M.Josuttis,
Addison Wesley 1999.799pages

第二个境界是了解泛型技术的内涵与STL的学理:
[Austern98]:Generic Programming and the STL -Using and Extending the C++ Standard
Template library,by Matthew H.Austern,Addison Wesley 1998.548page


第三个境界是扩充STL:
[Stepanov2001]:C++ Standard Template Library by P.J.Plauger,Alexander A.Stepanov,
Meng Lee,David R.Musser,Prentice Hall 2001

这些就是你应该看的书,如果你想成为高手。

阅读(21094) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册