 鲜花( 0)  鸡蛋( 0)
|
记得我在北京达内学习的时候,刚入学时老师给了一本C++基础参考书,后来学了一段时间有了一定的C++基础后就想换换别的参考书看看,在咨询了老师后,老师给列出了下列书籍,我觉得对我很受益
' D+ f% V" b; ~* ~
2 O1 F$ n! G% C! v% {/ |,今天拿出来晒晒,跟大家一块分享。! B- x2 e- d% O. `, W% K H% u1 F9 m
7 Y0 V0 F3 N- Z2 F
推荐的阅读顺序:
: O- |! `' H8 Z! Q
. K! f; {+ n- o: z4 D- \: Tlevel 1
- b# @) E8 q; s
0 @* Y" Z" L3 s) [2 ]! E从<<essential c++>>(可不看)开始,短小精悍,可以对c++能进一步了解其特性2 G. V2 v/ |; U \+ b5 R
4 ~, n" [0 N$ Z# |以<<c++ primer>>作字典和课外读物,因为太厚不可能一口气看完3 t0 Z# X: K1 g
2 q1 e4 K+ Y O9 `0 q
level 26 ?8 _8 G4 |% N- \7 H( h# C7 ]$ u, z" W
) K$ D. r2 |/ B6 n' v
然后从<<effective c++>>开始转职,这是圣经,请遵守10诫,要经常看,没事就拿来翻翻
" W9 U4 n9 _& m$ h# E& d! _! x9 Q8 K g! E0 t8 [
接着是<<exceptional c++>>,个人认为Herb Sutter主席大人的语言表达能力不及Scott Meyers总是在教育第一线的好
/ W" v8 T: d& _" l: v+ s3 D( b S" z4 e3 I Z3 z$ N
顺下来就是<<more effective c++>>和<<more exceptional c++>>,请熟读并牢记各条款
* B+ [4 u q# m' @
% A6 _' _/ y4 S: {0 C a% k当你读到这里,应该会有一股升级的冲动了* g( D9 D1 h5 n7 q+ G1 P" C" p7 ]
, Y4 I/ w5 `; Z2 ]0 }5 Q/ K$ j' \8 t }level 3
4 p, i, Q z. S% ^+ S) Z
4 y' N# m: `, }5 {# L$ X- I1 Z: x<<insied the c++ object model>>看过后如一缕清风扫去一直以来你对语言的疑惑,你终于能明白compiler到底都背着你做了些什么了,这本书要细细回味,比较难啃,最好反复看几遍,加深印象- M; Q/ a5 A) R6 ]- {. u' z% X2 [
. Z0 {3 S' b2 _2 e7 _1 [看完上一本之后,这本<<The design and evolution of c++>>会重演一次当年C++他爹在设计整个语言过程中的历程: K, F( a7 o2 _, d6 f4 ^' C. s
! ?3 W+ ]: Y" M) {; a
level 4
9 h: w7 h) o3 W' D0 v8 n' B
( h6 D. h i1 L( O& y9 T& V<<the c++ standard lipary>>是stl的字典,要什么都可以查得到
% U" I9 \: e0 d5 u' K
; A1 q+ c! V* L学c++不能不学stl,那么首先是<<effective stl>>,它和圣经一样是你日常行为的规范0 S+ \. y0 f9 }$ U6 A
, ?# Z- o. s& X8 }% m; k# c
<<generic programming and the stl>>让你从oo向gp转变& I/ K( V$ Y) ^1 _. N% d
, G1 ?4 o1 k7 O# ~5 ]光用不行,我们还有必要了解stl的工作原理,那么<<stl源码剖析>>会解决你所有的困惑
5 L! w: b; f# T) @1 c! e# w* n# l; w0 k* Y1 w1 W; X* i
level 5: }) A& S* C6 k3 X
" U5 X& G- T9 F# E1 m' P% D
对于c++无非是oo和gp,想进一步提升oo,<<exeptional c++ style>>是一本主席这么多年的经验之谈,是很长esp的& A- s& P- V, }& i. ]
% H+ H4 \. x1 E; f8 e3 V' B一位stl高手是不能不去了解template的,<<c++ template>>是一本百科全书,足够你看完后对于gp游刃有余
8 X: w6 ~4 s* e/ f* R& f8 y o) C5 B+ ~% b+ U _( h
<<modern c++ design>>是太过聪明的人写给明眼人看的
3 a5 Q3 F+ Q% d8 S, \
$ s0 |* W8 D: n, @% I6 D) t% I* a0 G' g好书有很多,不能一一列举
% u' U: y O0 ]/ q N* l
5 G* L, H. N5 X& h# H4 O/ z以上我的读书经历,供各位参考。+ v3 r a6 z% e( n% }+ z, |" _
余下的无非就是多看多做练习了,最后就等着量变到质变的过程了。等着进阶到高手行列了!7 V8 L5 Z0 d" |3 ~# i- {, ^, |
转自:http://www.bjtarena.com/ |
|