 鲜花( 0)  鸡蛋( 0)
|
记得我在北京达内学习的时候,刚入学时老师给了一本C++基础参考书,后来学了一段时间有了一定的C++基础后就想换换别的参考书看看,在咨询了老师后,老师给列出了下列书籍,我觉得对我很受益9 X) d# i, o0 i7 h. a, n! E5 a
. _$ J7 Z. m$ c* O$ m
,今天拿出来晒晒,跟大家一块分享。! b0 C6 S `% d }, k2 |$ _
$ I* u' ^: W9 l5 F, X0 U6 r
推荐的阅读顺序:
; @" J5 e+ [- F4 Q, F' k% u5 k8 h7 B4 ?1 G8 u. O( x( @2 M* L
level 1& z; h, Z8 W9 k1 ]. `
* [+ Z6 }& G2 J# x$ x从<<essential c++>>(可不看)开始,短小精悍,可以对c++能进一步了解其特性
7 B4 N, c- Q6 J# e0 ^
4 E$ h7 N# @4 T以<<c++ primer>>作字典和课外读物,因为太厚不可能一口气看完& s. w0 B5 [( c9 G' C: q5 R
: N; ?6 b6 G3 E: V' f
level 2
; z$ V8 g- d ^6 Z( f! S$ f3 V7 }1 O+ n
然后从<<effective c++>>开始转职,这是圣经,请遵守10诫,要经常看,没事就拿来翻翻
' n- z/ S" g: S4 q; M7 {
. k6 F# u; d9 s8 n2 G接着是<<exceptional c++>>,个人认为Herb Sutter主席大人的语言表达能力不及Scott Meyers总是在教育第一线的好& p" X/ V, B0 R1 M. U5 ~
Y5 T/ m9 `) y顺下来就是<<more effective c++>>和<<more exceptional c++>>,请熟读并牢记各条款# h! ^, l2 @# T2 Y4 ^7 e, d
4 B- j% V* M) h* N+ p; _当你读到这里,应该会有一股升级的冲动了
2 o- k% m: M& _6 G" \8 \3 C6 m0 }+ v6 t5 N. J3 f+ t
level 3 {( T( O1 z. n1 v8 `* s3 ?8 Q
6 z K* R6 {& M2 U# v o4 _# h' f<<insied the c++ object model>>看过后如一缕清风扫去一直以来你对语言的疑惑,你终于能明白compiler到底都背着你做了些什么了,这本书要细细回味,比较难啃,最好反复看几遍,加深印象& k; n D# Q F ?) G: d
2 @( `- Z7 I* e1 S. W# W4 h+ X# ]
看完上一本之后,这本<<The design and evolution of c++>>会重演一次当年C++他爹在设计整个语言过程中的历程
& s' e; @( N' k- {. i" {1 K8 Z8 z' l3 T( O4 T* d% T/ I8 p; Y
level 4
& V! C4 d1 l5 G4 |" I0 E
" G* }" D# R3 k' R8 V- I# z<<the c++ standard lipary>>是stl的字典,要什么都可以查得到
9 e4 k6 e% n6 Y& n, w5 ]' p+ H7 `/ g0 F: C: U" Q" `
学c++不能不学stl,那么首先是<<effective stl>>,它和圣经一样是你日常行为的规范
/ z! E- V2 \6 }' r" [( v
1 D. k0 J/ x3 S a% d( w<<generic programming and the stl>>让你从oo向gp转变- ?) Z5 T" Y8 p; I9 I
0 Y) T' W0 Q5 \# f% W$ B: s' r) d光用不行,我们还有必要了解stl的工作原理,那么<<stl源码剖析>>会解决你所有的困惑
1 D, p- }. v/ }8 g+ o
: {6 M% D* ^5 L! g( e, Ilevel 5
$ n: I% t' f* Q: b @5 I1 h
% q2 e6 v) f& |5 C0 q对于c++无非是oo和gp,想进一步提升oo,<<exeptional c++ style>>是一本主席这么多年的经验之谈,是很长esp的* _" c$ B% E. X. Q: L% T" H
5 a A8 R; Z7 G1 w2 x一位stl高手是不能不去了解template的,<<c++ template>>是一本百科全书,足够你看完后对于gp游刃有余- }& f4 Z& S- z6 q
( y$ p: }+ O- C! f% a
<<modern c++ design>>是太过聪明的人写给明眼人看的* j2 R; Z" a7 t9 t, W
: a4 L) U# L1 R( a. ~4 t# ~好书有很多,不能一一列举3 T; j( O6 h+ M: }9 p9 v% y9 F
9 ^9 g8 t U5 s
以上我的读书经历,供各位参考。
, [- h# ^: z8 ^1 V- Z余下的无非就是多看多做练习了,最后就等着量变到质变的过程了。等着进阶到高手行列了!
: G$ A8 N2 b, D( I- x转自:http://www.bjtarena.com/ |
|