 鲜花( 0)  鸡蛋( 0)
|
记得我在北京达内学习的时候,刚入学时老师给了一本C++基础参考书,后来学了一段时间有了一定的C++基础后就想换换别的参考书看看,在咨询了老师后,老师给列出了下列书籍,我觉得对我很受益4 \0 d8 c; H9 S! s- V' E
8 B: R. g" ~1 A+ w# d: }- e
,今天拿出来晒晒,跟大家一块分享。/ u9 j5 e% ~& x$ t7 d
) A6 n% s3 z) L) o推荐的阅读顺序:
- s1 h' _5 y5 s% v- A- I- J+ l. o, r# ~# F
level 1
+ d6 ~# ?6 g2 W) s+ N0 d0 s& b2 h. `& Z2 m& d
从<<essential c++>>(可不看)开始,短小精悍,可以对c++能进一步了解其特性
4 v. d4 x4 I* D# N2 q7 U4 e) U, k$ h( B3 Y8 v5 L
以<<c++ primer>>作字典和课外读物,因为太厚不可能一口气看完
: o B9 w* J- X" h+ G0 D4 z0 U0 H6 f$ y$ X/ A
level 2
, S' u! v8 U u$ J) @3 s8 [5 C) |7 O3 e4 B, o& a8 O; ~
然后从<<effective c++>>开始转职,这是圣经,请遵守10诫,要经常看,没事就拿来翻翻
; n m3 z6 ~. S; d. c% p g# n9 a( z1 [! c& f
接着是<<exceptional c++>>,个人认为Herb Sutter主席大人的语言表达能力不及Scott Meyers总是在教育第一线的好
0 g- N+ {4 L6 k4 g6 T7 p7 D9 W$ O7 C
顺下来就是<<more effective c++>>和<<more exceptional c++>>,请熟读并牢记各条款
( ]& [! F7 E- Z' }
8 G5 h5 s( S3 L; Q9 T! |+ z$ ]1 \4 I当你读到这里,应该会有一股升级的冲动了8 N \5 E& E/ ^3 F
5 s" N: Z: v1 m+ ?! f. p6 P) O3 j+ |- [level 3# N+ k6 q' s; x, D) K+ i
7 X, k) d) t, \( w$ D3 @<<insied the c++ object model>>看过后如一缕清风扫去一直以来你对语言的疑惑,你终于能明白compiler到底都背着你做了些什么了,这本书要细细回味,比较难啃,最好反复看几遍,加深印象* K/ x7 W* ?2 {; `" z- {4 j) U
" v1 w: h3 h( w$ K# C, x
看完上一本之后,这本<<The design and evolution of c++>>会重演一次当年C++他爹在设计整个语言过程中的历程
' ?" M" F9 ]" O2 [0 I7 u3 D& S( {. t0 ~9 }# \; I* S
level 47 ]* X: Y. w3 o* ]$ T3 L! V
" @2 m2 `/ y% o; s+ E; N7 G S) k
<<the c++ standard lipary>>是stl的字典,要什么都可以查得到/ k# y! B, j: O/ Z: h+ N% c
4 {0 M+ g2 N2 j' K) t* r学c++不能不学stl,那么首先是<<effective stl>>,它和圣经一样是你日常行为的规范& s+ G9 P* A; Q; N4 p5 m
$ ~: a. U' {9 ]5 F3 S
<<generic programming and the stl>>让你从oo向gp转变
2 z0 T+ S6 n, @2 ^3 M+ D [0 v' Y; n0 n3 r: Q# ^' l, S
光用不行,我们还有必要了解stl的工作原理,那么<<stl源码剖析>>会解决你所有的困惑
% W6 s, C, R3 w7 S, X! v1 s: R" L& `: I# o( G
level 5" k3 l- D7 y" @; N* X
: g7 r' G% {; V8 N9 g! X5 Q; E, g
对于c++无非是oo和gp,想进一步提升oo,<<exeptional c++ style>>是一本主席这么多年的经验之谈,是很长esp的
' W; H0 W( _. f& V( P8 e
4 x, F% x( m/ T, i C$ N: a/ D/ |) `一位stl高手是不能不去了解template的,<<c++ template>>是一本百科全书,足够你看完后对于gp游刃有余% h* H$ O: Y+ x1 ^
) G% f8 B: S+ `! Z0 x% G<<modern c++ design>>是太过聪明的人写给明眼人看的4 Y# a% L/ \: n% C6 m+ D3 [
1 N Q* g& j( h6 P好书有很多,不能一一列举. F9 D" G+ f, U* I- o# M7 s( }
# H& T+ [) g4 d6 N, j" ^
以上我的读书经历,供各位参考。. N7 g) T2 `# ]( X
余下的无非就是多看多做练习了,最后就等着量变到质变的过程了。等着进阶到高手行列了!
, T7 q5 F* P/ T/ q转自:http://www.bjtarena.com/ |
|