 鲜花( 0)  鸡蛋( 0)
|
记得我在北京达内学习的时候,刚入学时老师给了一本C++基础参考书,后来学了一段时间有了一定的C++基础后就想换换别的参考书看看,在咨询了老师后,老师给列出了下列书籍,我觉得对我很受益: |* c( ] b- I4 Q$ _7 f8 l
0 Y* }5 o/ _2 T9 \$ t* i% e/ y
,今天拿出来晒晒,跟大家一块分享。% J2 w( }9 W4 p, k2 Y$ J
9 J$ {1 E. i& k. d5 j4 M, Z1 I5 k推荐的阅读顺序:
, i- K* r8 i4 M+ v/ K4 F- q) r7 B) S5 ]4 o, C3 Q& w7 s$ e
level 1' Z( F) l$ A$ d o
) O1 `; |; w; j7 E从<<essential c++>>(可不看)开始,短小精悍,可以对c++能进一步了解其特性2 v& j# b6 k+ L
" x9 }( E9 e; b3 j' k6 }# H以<<c++ primer>>作字典和课外读物,因为太厚不可能一口气看完
+ p4 \* H3 N! l1 c/ x# a6 t$ g) M8 A4 k8 s$ N5 y: E
level 2
8 _4 ^2 c4 O6 d6 B9 z* Q
6 C* G( U1 K G2 ? |然后从<<effective c++>>开始转职,这是圣经,请遵守10诫,要经常看,没事就拿来翻翻; X ]( @% S1 ^* z5 {9 Q4 p' j+ _
1 ?& ?# Z! B" z$ J接着是<<exceptional c++>>,个人认为Herb Sutter主席大人的语言表达能力不及Scott Meyers总是在教育第一线的好
7 \# M6 t7 b" o, c: [2 S& N- F3 o; h: `9 J/ a% O0 `
顺下来就是<<more effective c++>>和<<more exceptional c++>>,请熟读并牢记各条款+ h. x) H1 Y7 ^. U7 l# {0 b1 E
g6 \5 W- J* b. X当你读到这里,应该会有一股升级的冲动了
4 ], j% U; B1 N* P* l! z9 Y3 E/ s! S: ]. Z2 e1 R! g
level 3( q/ h# o9 Z' H/ v$ B
$ } a; W5 L8 ]<<insied the c++ object model>>看过后如一缕清风扫去一直以来你对语言的疑惑,你终于能明白compiler到底都背着你做了些什么了,这本书要细细回味,比较难啃,最好反复看几遍,加深印象
6 B! x0 t; p, G0 G
# t: H6 G9 e0 q6 M看完上一本之后,这本<<The design and evolution of c++>>会重演一次当年C++他爹在设计整个语言过程中的历程
) X. w4 u) K3 s; [5 f. o7 t$ }
9 g( D: q4 I8 Q+ l# olevel 4, l( ?7 I3 F/ P: w& J$ \( X
- O, X7 I7 ~/ o$ ]- P: W$ Z<<the c++ standard lipary>>是stl的字典,要什么都可以查得到- ?2 P! G/ E9 u0 ?. t" e3 \
7 z7 F( b/ J: l$ I" o# e+ O6 D
学c++不能不学stl,那么首先是<<effective stl>>,它和圣经一样是你日常行为的规范3 b6 e; t8 \8 ?) s
* g$ x/ U- e8 |2 w; B3 Q: o4 I<<generic programming and the stl>>让你从oo向gp转变+ Y8 M |! v6 p$ J+ c! F' x% h" ~
$ x% m4 I, }/ @, G0 f9 E% V
光用不行,我们还有必要了解stl的工作原理,那么<<stl源码剖析>>会解决你所有的困惑 e3 C& ^* z* T. F
: H' {7 U4 C3 d- e( x* ]level 59 f2 t, O0 U* Z; ?2 O
5 C! u, D$ \1 p% B1 j
对于c++无非是oo和gp,想进一步提升oo,<<exeptional c++ style>>是一本主席这么多年的经验之谈,是很长esp的; G0 Z) H4 W% w% a- g o4 k$ E% N
+ S0 N) N; W! r一位stl高手是不能不去了解template的,<<c++ template>>是一本百科全书,足够你看完后对于gp游刃有余
# b" q' y/ ?. ?4 S0 y. z
2 z5 W& \# b, e _$ W<<modern c++ design>>是太过聪明的人写给明眼人看的, T$ L( M3 L: n5 Z @; n0 `
1 U& ?( G1 I5 t3 K+ S* |, P& w
好书有很多,不能一一列举
( \2 b- s5 ~- o% C3 q/ e% L
( W. X" F* \9 _5 U8 I3 D以上我的读书经历,供各位参考。
9 x/ ^4 d! w \余下的无非就是多看多做练习了,最后就等着量变到质变的过程了。等着进阶到高手行列了! L K9 P; `0 {# x
转自:http://www.bjtarena.com/ |
|