 鲜花( 0)  鸡蛋( 0)
|
记得我在北京达内学习的时候,刚入学时老师给了一本C++基础参考书,后来学了一段时间有了一定的C++基础后就想换换别的参考书看看,在咨询了老师后,老师给列出了下列书籍,我觉得对我很受益
% c. p- \( }, b
5 x5 A2 _: X' ]4 M,今天拿出来晒晒,跟大家一块分享。; ]3 u/ K/ p5 `. W, |1 F' T
" E& o0 r8 g) ^
推荐的阅读顺序:0 i5 C0 t( F1 m# R5 y
: b, i+ S4 I% z' p7 V9 U) S! [level 1
4 J; `9 e0 x* w* H/ l# |% O1 J6 x* d. t9 x2 x3 m. Q
从<<essential c++>>(可不看)开始,短小精悍,可以对c++能进一步了解其特性" R' o9 e4 r' J
9 Z& Y, R, j1 e$ b Y& h
以<<c++ primer>>作字典和课外读物,因为太厚不可能一口气看完$ `2 c: Y, Q& P5 ^9 g# X
' a% ^ y6 t5 X/ U" T! m
level 2
' } f( E6 ]4 h) S- Q) o# F, ?5 \% ~: W( G! A: c8 S( K
然后从<<effective c++>>开始转职,这是圣经,请遵守10诫,要经常看,没事就拿来翻翻/ ^1 j; t0 E; D8 B" A# i7 i! V% v0 u; ?
, L0 H. N6 a" ?1 M$ Y/ A- e: x+ \0 H
接着是<<exceptional c++>>,个人认为Herb Sutter主席大人的语言表达能力不及Scott Meyers总是在教育第一线的好
5 ~ g1 @6 t; m5 X3 B7 |5 x% b. b0 k/ }9 }
顺下来就是<<more effective c++>>和<<more exceptional c++>>,请熟读并牢记各条款& S1 S2 s5 Y" n
3 |/ _- C+ r# p! u, T/ ?0 ]+ \# o当你读到这里,应该会有一股升级的冲动了
: f7 W* W y9 l8 Q* V, D
" f0 `% X# L3 C# C* slevel 3
. L5 ^& j% ]8 M. M* N! b V. L! w3 n5 f7 h! H
<<insied the c++ object model>>看过后如一缕清风扫去一直以来你对语言的疑惑,你终于能明白compiler到底都背着你做了些什么了,这本书要细细回味,比较难啃,最好反复看几遍,加深印象" Q" u, t Y5 b% V% p5 d
$ ^; g( |& z: j/ s7 B# _看完上一本之后,这本<<The design and evolution of c++>>会重演一次当年C++他爹在设计整个语言过程中的历程$ X# A. C% m& z
! A7 T" k" c8 x+ I2 J1 F' h. u1 m4 Dlevel 4
% n; I/ @1 L+ e% R8 t5 b. P& p7 n R7 A- p# l
<<the c++ standard lipary>>是stl的字典,要什么都可以查得到
. r2 E ^# l) i4 H3 S& N9 X: B, _. d- i- ^; f) X. I2 P
学c++不能不学stl,那么首先是<<effective stl>>,它和圣经一样是你日常行为的规范
4 W2 l7 [$ m8 E f# {5 X: D6 c; R7 |1 s$ J" q A$ s7 U- s! m b G! W
<<generic programming and the stl>>让你从oo向gp转变
c d; H/ D: ]7 B4 t" U
+ s& Y8 N; u$ K4 }6 D光用不行,我们还有必要了解stl的工作原理,那么<<stl源码剖析>>会解决你所有的困惑' ?7 k8 d& C, `1 x; S: j" Q- N/ q
0 I2 [ R! g# G) d4 Q/ Q
level 5* ^9 w* ~0 v' U% m# g, U
3 {8 k P% c2 f6 B% W3 k
对于c++无非是oo和gp,想进一步提升oo,<<exeptional c++ style>>是一本主席这么多年的经验之谈,是很长esp的1 ~' v x- {' P3 O& _. ]8 Y" N
- m) I! x0 ~2 U3 J" K' g
一位stl高手是不能不去了解template的,<<c++ template>>是一本百科全书,足够你看完后对于gp游刃有余/ {1 W, ^0 ~% d2 ?) d% N6 a) u
! ~$ H4 O8 {3 I
<<modern c++ design>>是太过聪明的人写给明眼人看的
5 J: V' q' l' G7 G
9 E, Q* V/ x" H B% {1 ]4 \0 Z, q好书有很多,不能一一列举
+ p& ]5 r s D* c V( R
" v& Y$ L q) T- q E% r' G( L( u' \ y以上我的读书经历,供各位参考。
# J k* {: h; {0 F余下的无非就是多看多做练习了,最后就等着量变到质变的过程了。等着进阶到高手行列了!+ N/ D4 G" J$ |8 o* ]
转自:http://www.bjtarena.com/ |
|