 鲜花( 0)  鸡蛋( 0)
|
记得我在北京达内学习的时候,刚入学时老师给了一本C++基础参考书,后来学了一段时间有了一定的C++基础后就想换换别的参考书看看,在咨询了老师后,老师给列出了下列书籍,我觉得对我很受益
* r0 P0 O( f9 z$ X3 i
: f5 i$ R' g T; q v,今天拿出来晒晒,跟大家一块分享。
) y' o8 H% n. Y
- _5 @; R) R+ J* }3 m3 B9 F推荐的阅读顺序:9 B- ?7 f6 t V7 i
9 I- y& Y+ e) T/ P1 D8 d$ x7 y" G
level 1
) q t' v4 C! t: v8 s# y& q) f+ d/ y% e; ]. M. J( @8 I9 [
从<<essential c++>>(可不看)开始,短小精悍,可以对c++能进一步了解其特性2 c: ?, {$ W$ u. ?# s. |- @, Z& [
$ x8 G1 P# G% l# @; v
以<<c++ primer>>作字典和课外读物,因为太厚不可能一口气看完7 Q2 x% ?; E1 M2 y1 ]+ f! g5 p3 o2 E
, Q7 h" {6 z `, W) h. Olevel 2
' G% l- A, M; u! X5 C4 A5 Z
$ B1 Y. m5 N k3 O6 r然后从<<effective c++>>开始转职,这是圣经,请遵守10诫,要经常看,没事就拿来翻翻
. H# x- [: H; U
( D, y& E8 S# n4 s1 c接着是<<exceptional c++>>,个人认为Herb Sutter主席大人的语言表达能力不及Scott Meyers总是在教育第一线的好
}# M) i5 R, T, U* [' K
3 k9 @4 c, ^, i+ k顺下来就是<<more effective c++>>和<<more exceptional c++>>,请熟读并牢记各条款
! _. p/ e* o" S/ P$ U5 a7 t7 g5 g: o& v+ N2 e) r
当你读到这里,应该会有一股升级的冲动了
0 c) G+ g# U( ^3 \* ?4 m, u+ N+ _4 r5 Y% y) K/ |+ c1 M
level 3
# F7 ^ ? p7 ]' Y3 [/ x7 ]) }6 ^, S, A& [% N
<<insied the c++ object model>>看过后如一缕清风扫去一直以来你对语言的疑惑,你终于能明白compiler到底都背着你做了些什么了,这本书要细细回味,比较难啃,最好反复看几遍,加深印象4 V/ w: y# U( h9 Z% G6 u! t
. l, ?5 b; i' G# n, U" ]! h
看完上一本之后,这本<<The design and evolution of c++>>会重演一次当年C++他爹在设计整个语言过程中的历程
! j2 L" L8 i8 v& L5 m9 b* a4 {- K: G$ m. O: M w+ g. h: g8 R( X6 Z
level 47 k+ _- P" x8 _' t2 @/ V
: a3 W! { a* t; A( A# y; {<<the c++ standard lipary>>是stl的字典,要什么都可以查得到
! C- Y* @3 g+ Q$ V9 A
: T* V: `6 M- ]# B学c++不能不学stl,那么首先是<<effective stl>>,它和圣经一样是你日常行为的规范
4 w+ W8 p) y, f7 [6 H' M2 q: W% E- I" c$ T
<<generic programming and the stl>>让你从oo向gp转变
5 V" R/ p! J% m* D; t5 S
" a2 w4 `( d' x光用不行,我们还有必要了解stl的工作原理,那么<<stl源码剖析>>会解决你所有的困惑
0 L/ G! E; T, o5 V. A0 t% u) P- h9 R- q# F9 r7 w. k; p( n) b9 d
level 5; Z/ D( u3 R) x2 b
/ d) a$ \2 Z% i# I% ^
对于c++无非是oo和gp,想进一步提升oo,<<exeptional c++ style>>是一本主席这么多年的经验之谈,是很长esp的
9 N) s$ w+ R F6 u& q& a
}/ c4 z; `/ A1 w) T8 i3 @; T一位stl高手是不能不去了解template的,<<c++ template>>是一本百科全书,足够你看完后对于gp游刃有余
r' q& O4 S) _3 d
- e) f3 N4 [' s) x. [7 r( X<<modern c++ design>>是太过聪明的人写给明眼人看的
! m. a: O/ E& Q3 i5 a& Y* Y
8 H3 Q+ a9 E& o o- l3 N; P% [好书有很多,不能一一列举' I( H3 C- v @. c! v" U
* `. w& j4 z! E, L1 D" E* x, e0 _2 c: q
以上我的读书经历,供各位参考。& G& g7 G) O4 b& `
余下的无非就是多看多做练习了,最后就等着量变到质变的过程了。等着进阶到高手行列了!
; p- O, @. q' R/ F& \, H转自:http://www.bjtarena.com/ |
|