 鲜花( 0)  鸡蛋( 0)
|
记得我在北京达内学习的时候,刚入学时老师给了一本C++基础参考书,后来学了一段时间有了一定的C++基础后就想换换别的参考书看看,在咨询了老师后,老师给列出了下列书籍,我觉得对我很受益' p, @# K. _8 ^ Z; s
, n/ G9 ]2 f& P( U,今天拿出来晒晒,跟大家一块分享。
# F; ^7 E; \6 A4 y" x) D# r3 N3 b. k3 |. @- t3 F2 D
推荐的阅读顺序:$ b% Y6 m x" B9 X
* f( l- L/ w9 }% d& \
level 10 B: Y2 [. L+ T7 X6 Z R
0 x. }( t* f( O& i从<<essential c++>>(可不看)开始,短小精悍,可以对c++能进一步了解其特性
. ?" a' d+ F( [1 S% l" F, |- z. h. A' E/ ~- P- S
以<<c++ primer>>作字典和课外读物,因为太厚不可能一口气看完
: Q8 r0 u3 S: B% ^& N x, f1 P% D4 @( N+ z i4 A/ b$ k% \% o
level 2
7 V/ X' i& g/ k2 S
/ O; u7 y5 \) p: ]; O然后从<<effective c++>>开始转职,这是圣经,请遵守10诫,要经常看,没事就拿来翻翻; Q3 N) B- g/ C% O) h/ G
3 I( z. c, h. D) e' q9 c- H9 w接着是<<exceptional c++>>,个人认为Herb Sutter主席大人的语言表达能力不及Scott Meyers总是在教育第一线的好0 ?3 D' ]$ q4 K# o7 T
. V; ^" J5 x& p/ D+ m: G5 q b顺下来就是<<more effective c++>>和<<more exceptional c++>>,请熟读并牢记各条款
* G4 P# @' }& U1 V* x' q; V# z" k8 f2 r; _! ^: o
当你读到这里,应该会有一股升级的冲动了
2 t& d+ m1 h3 C" F' y) M' l" h4 p
level 3
* B! S2 K1 V" u3 c+ S5 @
* R* w0 |2 m* P7 R3 v% k<<insied the c++ object model>>看过后如一缕清风扫去一直以来你对语言的疑惑,你终于能明白compiler到底都背着你做了些什么了,这本书要细细回味,比较难啃,最好反复看几遍,加深印象
- c o7 @4 w& }) e, T0 r/ k! {& o
9 [' m; s5 h% ?. {$ O, W) g3 g( u看完上一本之后,这本<<The design and evolution of c++>>会重演一次当年C++他爹在设计整个语言过程中的历程
3 J; l! b, @( Q" s5 I( H! X; e
3 i i7 z3 S& E. N# z8 D& \9 Rlevel 4$ u# y- g$ G$ P3 h
) z* Z; C1 @/ d6 x. v- ?: c! o# f$ w
<<the c++ standard lipary>>是stl的字典,要什么都可以查得到. k) U. u4 W, ?9 h' k: q
8 h) S, a8 c8 u# N% }: a
学c++不能不学stl,那么首先是<<effective stl>>,它和圣经一样是你日常行为的规范
5 D. m7 c0 q3 s6 A* ?* e7 Y P3 V- [ _6 W8 `7 Z2 s% k
<<generic programming and the stl>>让你从oo向gp转变
) C9 M! K' @+ T$ i2 n- r' W7 H- z5 l2 e" v+ t! j% z" N
光用不行,我们还有必要了解stl的工作原理,那么<<stl源码剖析>>会解决你所有的困惑 D1 G8 N7 H0 e1 G
T0 U+ U3 z/ }7 ?# u
level 5
0 [, j8 a: m- g: ~- u2 r8 I2 r: k$ h% ]/ h
对于c++无非是oo和gp,想进一步提升oo,<<exeptional c++ style>>是一本主席这么多年的经验之谈,是很长esp的
+ }3 }* B; }! U2 p6 ?8 Q- }; ?' R. r ^& A7 G8 m
一位stl高手是不能不去了解template的,<<c++ template>>是一本百科全书,足够你看完后对于gp游刃有余
- a! D. p6 T( r" ^8 k9 R# `. P" I
, r7 z# u. Z( \/ F0 Q. c<<modern c++ design>>是太过聪明的人写给明眼人看的
+ V. S4 p( r2 o2 n( r3 v( l9 k
- Z( \7 Z1 u1 D1 i' V4 T好书有很多,不能一一列举
1 X8 K- T' c+ ^" j/ U2 e# v* N8 d6 ?0 ?, I5 k6 o
以上我的读书经历,供各位参考。
& d9 Y0 A$ j" e6 {- G6 Y余下的无非就是多看多做练习了,最后就等着量变到质变的过程了。等着进阶到高手行列了!7 B1 _' y: S' v8 f0 @
转自:http://www.bjtarena.com/ |
|