已经有一点编程基础,想重点学C++,求书籍推荐


C++primer 第五版英文的已购入,实在啃不下去,可是据说中文版还要一个月后才出,最近还想看点啥~

C++

会说话的老妖精 11 years, 2 months ago

**

转自网络:

**
当读者有一定c/c++基础
推荐的阅读顺序:
level 1
从<<essential c++>>开始,短小精悍,可以对c++能进一步了解其特性
以<<c++ primer>>作字典和课外读物,因为太厚不可能一口气看完

level 2
然后从<<effective c++>>开始转职,这是圣经,请遵守10诫,要经常看,没事就拿来翻翻
接着是<<exceptional c++>>,个人认为Herb Sutter主席大人的语言表达能力不及Scott Meyers总是在教育第一线的好
顺下来就是<<more effective c++>>和<<more exceptional c++>>,请熟读并牢记各条款
当你读到这里,应该会有一股升级的冲动了

level 3
<<insied the c++ object model>>看过后如一缕清风扫去一直以来你对语言的疑惑,你终于能明白compiler到底都背着你做了些什么了,这本书要细细回味,比较难啃,最好反复看几遍,加深印象
看完上一本之后,这本<<The design and evolution of c++>>会重演一次当年C++他爹在设计整个语言过程中的历程

level 4
<<the c++ standard library>>是stl的字典,要什么都可以查得到
学c++不能不学stl,那么首先是<<effective stl>>,它和圣经一样是你日常行为的规范
<<generic programming and the stl>>让你从oo向gp转变
光用不行,我们还有必要了解stl的工作原理,那么<<stl源码剖析>>会解决你所有的困惑

level 5
对于c++无非是oo和gp,想进一步提升oo,<<exeptional c++ style>>是一本主席这么多年的经验之谈,是很长esp的
一位stl高手是不能不去了解template的,<<c++ template>>是一本百科全书,足够你看完后对于gp游刃有余
<<modern c++ design>>是太过聪明的人写给明眼人看的

好书有很多,不能一一列举
以上我的读书经历,供各位参考。接下来的无非就是打怪练级,多听多写多看;boost、stl、loki这些都是利器,斩妖除魔,奉劝各位别再土法练钢了。

at last,无他,唯手熟尔。

**

另一版本:

**
C++ 书籍大汇
语言基础入门:

  1. C++ Primer 《C++入门》(通常不用中文名) by Stanley B. Lippman 有第三版和第四版,如其名,是C++入门的不二选择,是全面广泛的参考书目,内容丰富,笔触严谨。 如果说Bjarne Stroustrup是C++之父的话,那么Lippman可以说是C++之母了:)

晨星:适合有丰富C经验,缺乏C++经验的。不过我个人一直认为此书带着过于强烈的C语言的痕迹,对于C++的学习未必是好事。

  1. The C++ Programming Language 《C++程序设计语言》 by Bjarne Stroustrup 有第三版特别版,刚刚为一个朋友买了一本,不用说了 Bjarne Stroustrup写的,权威之作,可以说与C++ Primer是同等广博的“圣经”级别

的参考书。

晨星:简称TC++PL,有其他语言的丰富经验的。(也有人简称之为“TCPL”,但需与另一本《The C Programmer Language》区分开来)

  1. Essential C++ 《C++基础》
    by Stanley B. Lippman
    同样是入门的基础,也是由Stanley B. Lippman执笔的作品,研究语法÷语意再好不过的了。

  2. Accelerated C++
    by Andrew Koenig and Barbara E. Moo
    夫妻一同的作品,Koenig夫妇可以说也是顶尖领域的专家,相比Barbara E. Moo比较注重教学,这本本人同晨星老大一样没有读过,当时它的

副标题应该能说明一些内容了吧。
Practical Programming by Example 通过实例来实践编程

晨星:这两本薄一些,都是不错的选择。《Accelerated C++》本人没有读过,从各方面的评价来看,完全值得推荐。

以上的书籍都应该随手查阅的,即使是将来,也有一些细节可能一下不能回忆依然需要查阅,然而这四本内容涉及程度有一定的交叉,可以选

择而读,个人认为和晨星的建议一样:TC++PL是应该阅读的。

进阶A,经验与惯用法:

  1. Effective C++ , More Effective C++ by Scott Meyers 这几本我认为应当归在一起介绍,老实说这些条款是开发项目以及平时学习中不可缺少的Golden Tips,反复阅读,你会发现这些条款实在是再

深刻不过的了。

晨星:简称EC。C++程序员必读!很多时候,我们说C++圣经不是指TC++PL,而是这一本。《The Pragmatic Programmer》一书中写到:“一旦

你发现自己要参与C++项目的开发,赶快跑(不要走)到书店去购买Scott Mayer的《Effective C++》,可能还要《More Effective C++》”。

可见晨星对于Scott Meyers的这两本推荐的程度了!

  1. Exceptional C++ , More Exceptional C++ , Exceptional C++ Style
    by Herb Sutter
    这三本也是该归在一起的,Herb Sutter是C++标准委员会的老大,现在人在微软,他的书当然也是相当具有启发意义的。

  2. C++ Coding Standards: 101 Rules, Guidelines, and Best Practices 《C++ 编程规范》
    by Herb Sutter and Andrei Alexandrescu
    这本最近又看了一遍也是感到尤其深刻,案头书的描述再好不过了,里面丰富的名言,丰富的内涵,以及每次重复阅读都能有新的发现,哎,

不称之为经典也不行哎!

晨星:个人认为此书应为C++程序员必备的案头书。几乎Effective系列和Exceptional系列都在这里得到了总结。最新的模板、异常的业界经验
**

声明

**
以上为转载,我个人对C++了解不是非常多,现主要研习java。楼主可以对比两个答案版本看看,其实个人感觉语言这东西要和实践结合,否则只看不练是少有成效的。

ps3辅导大师 answered 11 years, 2 months ago

Your Answer