 鲜花( 0)  鸡蛋( 0)
|
记得我在北京达内学习的时候,刚入学时老师给了一本C++基础参考书,后来学了一段时间有了一定的C++基础后就想换换别的参考书看看,在咨询了老师后,老师给列出了下列书籍,我觉得对我很受益
" s. j3 \, x4 v1 O* T2 P8 j; E0 \ G* z. m
,今天拿出来晒晒,跟大家一块分享。
7 D; I) I" }+ L; f; q$ `% H7 L, G9 u s9 U2 j; v
推荐的阅读顺序:
0 d) G4 C$ n; J' O, d. a* I' s# ?! G5 D A4 X/ d
level 1
* p w7 K$ O2 f
" x' I1 o1 y& c3 H a7 U! x$ W# y从<<essential c++>>(可不看)开始,短小精悍,可以对c++能进一步了解其特性
& A3 s5 W1 ?5 o5 {2 r6 C1 P. {/ Q8 Q* p# m$ k: {$ d
以<<c++ primer>>作字典和课外读物,因为太厚不可能一口气看完
' C0 R1 e4 W: c: g8 T9 j. }" A3 \, h6 U f: e, R
level 2% e. K2 i2 Z; b$ q/ G! ], c7 l: ^
2 r4 E( ?& _7 @* Y" H然后从<<effective c++>>开始转职,这是圣经,请遵守10诫,要经常看,没事就拿来翻翻' ^5 {6 w D3 I9 s) |9 z' ~
! m( \$ @: ^6 z9 l4 f6 A接着是<<exceptional c++>>,个人认为Herb Sutter主席大人的语言表达能力不及Scott Meyers总是在教育第一线的好
1 Q1 t9 ^" Q9 f, l, j- p& i. D3 M$ `) h! Y
顺下来就是<<more effective c++>>和<<more exceptional c++>>,请熟读并牢记各条款- L' Y( ]* F7 [6 A5 j0 u) S
( s3 F$ B$ u, L- D! D$ q. b3 Y当你读到这里,应该会有一股升级的冲动了
/ R. D: I8 M0 f w. T& W V' ^) Z1 Z9 a V
level 3
9 T4 I6 n x1 t Q. C( n3 w/ m$ { J% M# I) W" S" W& F
<<insied the c++ object model>>看过后如一缕清风扫去一直以来你对语言的疑惑,你终于能明白compiler到底都背着你做了些什么了,这本书要细细回味,比较难啃,最好反复看几遍,加深印象6 M; K2 o% L1 V8 i& G1 e
) z( D( ?: z8 a* O9 d) \
看完上一本之后,这本<<The design and evolution of c++>>会重演一次当年C++他爹在设计整个语言过程中的历程% A. y" ]( G# m1 Z! E6 J1 b
% d6 E8 d/ }5 `/ k: `( o, y+ f
level 4/ G2 r( l- r1 j$ |* [% V2 Y5 G
' v2 N/ r- c9 F! r& E& n0 x<<the c++ standard lipary>>是stl的字典,要什么都可以查得到
. h4 W1 n) J/ q8 g: M
( o4 ]$ T( D& n$ b! \& Z# z6 E {学c++不能不学stl,那么首先是<<effective stl>>,它和圣经一样是你日常行为的规范, `. O5 g' g$ W" E
5 C7 `' Y) r5 S" e) M0 ^
<<generic programming and the stl>>让你从oo向gp转变1 B8 V+ B) x3 H7 j5 o6 ?1 F
1 D- ?. Q7 s* D+ h0 a
光用不行,我们还有必要了解stl的工作原理,那么<<stl源码剖析>>会解决你所有的困惑/ t; ^4 p/ s- ^) r' o: J* V
, P1 p& j6 X" p3 S& q! wlevel 5
* I# w3 E! \/ M" G' i. d* f3 d) }0 Y: k+ J' N6 @2 ]5 [$ s3 W
对于c++无非是oo和gp,想进一步提升oo,<<exeptional c++ style>>是一本主席这么多年的经验之谈,是很长esp的
8 h k' P" A2 Y
$ {) b2 y! t" V1 X: J" ^一位stl高手是不能不去了解template的,<<c++ template>>是一本百科全书,足够你看完后对于gp游刃有余
/ i- t1 [. x9 ?7 [; d* \
' j8 J1 |4 v: M) X6 N" b8 n1 |<<modern c++ design>>是太过聪明的人写给明眼人看的; X! e3 z/ t+ i9 s
. b. c {8 J: A$ G$ b1 i
好书有很多,不能一一列举# z0 ?1 @ e2 i Z9 ~9 r/ k
% n5 r$ n c: o& a2 @% Y
以上我的读书经历,供各位参考。& W% D' X; u+ e
余下的无非就是多看多做练习了,最后就等着量变到质变的过程了。等着进阶到高手行列了!
" A& O1 B8 c+ A' O5 B+ Q转自:http://www.bjtarena.com/ |
|