鲜花( 0) 鸡蛋( 0)
|
记得我在北京达内学习的时候,刚入学时老师给了一本C++基础参考书,后来学了一段时间有了一定的C++基础后就想换换别的参考书看看,在咨询了老师后,老师给列出了下列书籍,我觉得对我很受益. p" _# y& J4 g: h0 b( D5 H8 W& }# D
4 V$ F5 W, d, P$ \2 [,今天拿出来晒晒,跟大家一块分享。1 \4 l5 F! `+ ^) l& W
# K5 S8 q/ \6 }; y! `) l ]
推荐的阅读顺序:% N b6 l; k% t. }7 h
6 _/ Y4 p. b c5 Clevel 1
" a7 {0 G# {6 l0 `, C2 B! B
# T( t4 A2 B" _6 ^从<<essential c++>>(可不看)开始,短小精悍,可以对c++能进一步了解其特性 M: R, G, j4 | B3 A
0 k7 \$ ?( T' R2 ]2 @$ R以<<c++ primer>>作字典和课外读物,因为太厚不可能一口气看完
* Q6 [. ^. i O8 D' ^1 g8 H7 Z
- M+ J2 n% ?$ {- |4 q1 T$ ]4 @level 2& m* P9 e8 F1 l& W" r
x# H) B3 b& B# a/ f: `/ `+ b
然后从<<effective c++>>开始转职,这是圣经,请遵守10诫,要经常看,没事就拿来翻翻6 {% K/ ~: G9 X. j" q. K0 W
& X7 {- _7 P% ~; j8 q% V) r, _( @
接着是<<exceptional c++>>,个人认为Herb Sutter主席大人的语言表达能力不及Scott Meyers总是在教育第一线的好
$ t2 K; | v5 C0 `' e8 q
- M. `$ q, c7 k( a$ J, e% \ V顺下来就是<<more effective c++>>和<<more exceptional c++>>,请熟读并牢记各条款
. e! K+ C' ~6 c( R% ~) R# K, O& Y( c( e: ^. e: @0 t1 m! U/ m
当你读到这里,应该会有一股升级的冲动了
! U4 w6 u& |# Y3 k
) ^/ e4 B; Z( F& b( p! tlevel 3
' O4 L$ N, L4 ~5 }) X; f
8 H2 q6 g+ P- C8 O V<<insied the c++ object model>>看过后如一缕清风扫去一直以来你对语言的疑惑,你终于能明白compiler到底都背着你做了些什么了,这本书要细细回味,比较难啃,最好反复看几遍,加深印象
% w: [9 a8 @, j: T2 v) ?; h9 L+ r* l6 I1 [& }7 q4 `
看完上一本之后,这本<<The design and evolution of c++>>会重演一次当年C++他爹在设计整个语言过程中的历程6 j* l0 G6 @# m7 s" O
6 c* g& M9 Q. R. `6 Z3 i ^+ W/ ylevel 4
' y- l% p, a5 g
% C% E1 |/ C) @0 x- \<<the c++ standard lipary>>是stl的字典,要什么都可以查得到$ ^. q, {1 N, c) D' g1 Z1 y
5 X8 j9 }4 n* |% {! q学c++不能不学stl,那么首先是<<effective stl>>,它和圣经一样是你日常行为的规范
% Z. z8 b$ C4 m. e" W9 b: _: M' f( M7 r. B8 q6 S% T; m: u/ D
<<generic programming and the stl>>让你从oo向gp转变, n' L# S2 ^+ d1 X5 [0 M& p/ D! p
9 O/ } U( V+ I3 K光用不行,我们还有必要了解stl的工作原理,那么<<stl源码剖析>>会解决你所有的困惑: z" X6 E: p# U6 |3 L/ n6 o3 F5 P
B* Q- V. @" O/ u" x8 Rlevel 59 O; y( F! e/ U, V# T) ?
) m! {& b: x0 A7 h5 ]4 w对于c++无非是oo和gp,想进一步提升oo,<<exeptional c++ style>>是一本主席这么多年的经验之谈,是很长esp的
: ]9 s5 W$ p. ^, [' H _& Y6 l$ t: @& o
一位stl高手是不能不去了解template的,<<c++ template>>是一本百科全书,足够你看完后对于gp游刃有余
" | E6 G* ]9 k. Y" f2 N' o0 z6 ?1 i+ }; f; X
<<modern c++ design>>是太过聪明的人写给明眼人看的! a( y$ f2 a! [. W+ I
& a. d- r/ \$ c/ U好书有很多,不能一一列举
) Q; J" C0 l2 l/ R' l8 j5 w7 [- O4 @6 |/ f) m1 S' i% Q1 g( s0 T2 w
以上我的读书经历,供各位参考。5 h3 S6 n l% m( f0 Z
余下的无非就是多看多做练习了,最后就等着量变到质变的过程了。等着进阶到高手行列了!" L. e1 \( N8 N9 @6 |# v ]
转自:http://www.bjtarena.com/ |
|