 鲜花( 0)  鸡蛋( 0)
|
记得我在北京达内学习的时候,刚入学时老师给了一本C++基础参考书,后来学了一段时间有了一定的C++基础后就想换换别的参考书看看,在咨询了老师后,老师给列出了下列书籍,我觉得对我很受益
! ~6 ~" c8 [/ @8 Z9 k6 g3 F; g9 U1 d* r$ n
,今天拿出来晒晒,跟大家一块分享。
' G8 ]+ I0 k( k) {# X. u8 q
$ T1 ]# i7 L- P0 f; }推荐的阅读顺序:
# s) }. B# X( {& C: `; g/ Z6 a$ Y% X
level 1
- S9 H/ E( l( ?: @( z( V( a( ^ U( X" p& d0 M2 t9 Z4 C4 F& l
从<<essential c++>>(可不看)开始,短小精悍,可以对c++能进一步了解其特性
: T; g/ `* G" @. Q T5 p: W2 E& s. ^8 q" ]
以<<c++ primer>>作字典和课外读物,因为太厚不可能一口气看完
" O( _3 [3 {8 |. m: `
- t! }$ {: q E* ?level 2# }! }; m# f3 O9 R( Y1 B) Z
5 U8 K1 H" x- c2 y* `! E) u然后从<<effective c++>>开始转职,这是圣经,请遵守10诫,要经常看,没事就拿来翻翻
" E( {: k+ ?: G; Y+ n: l: M1 ^* Q6 V; L1 X6 g
接着是<<exceptional c++>>,个人认为Herb Sutter主席大人的语言表达能力不及Scott Meyers总是在教育第一线的好
" y$ d0 {9 {0 ?+ h, g4 b3 ^" E+ Q, r' z& O& U
顺下来就是<<more effective c++>>和<<more exceptional c++>>,请熟读并牢记各条款5 A- M% |# c% F5 e/ t6 z! d
, N. ]% `& g9 w) D6 u% y
当你读到这里,应该会有一股升级的冲动了
* \! e; v/ |. A! c" z5 Q; S, N) [8 y2 E& v! ^ s5 [/ R) C M
level 3
" h" E! J8 r2 r5 o+ ?# z, ?, Y+ ?; W+ @0 [' { }+ a& ?
<<insied the c++ object model>>看过后如一缕清风扫去一直以来你对语言的疑惑,你终于能明白compiler到底都背着你做了些什么了,这本书要细细回味,比较难啃,最好反复看几遍,加深印象
% B7 r' s) q& m! n3 y- E5 R% w( X
看完上一本之后,这本<<The design and evolution of c++>>会重演一次当年C++他爹在设计整个语言过程中的历程- t0 s( m+ [- F ^+ r
* r; h8 g8 G7 c. T7 Z* L2 @' P; R2 B qlevel 4# c- A, i1 a/ {7 E' R# ?# b
: y. S) l& S+ n& ~, ?" z; `<<the c++ standard lipary>>是stl的字典,要什么都可以查得到: s! u `% [1 j8 C+ e% N5 d) U
( ]" }7 ?. C2 N4 h9 a
学c++不能不学stl,那么首先是<<effective stl>>,它和圣经一样是你日常行为的规范
& T# _9 I( a4 R3 a5 t% D; o. k2 M1 |+ e* D6 ?$ s; `& Q$ U
<<generic programming and the stl>>让你从oo向gp转变
& F# Q) e. G0 M) ^5 A2 F1 P
1 ]0 H7 \4 R" ]7 a& f2 V光用不行,我们还有必要了解stl的工作原理,那么<<stl源码剖析>>会解决你所有的困惑2 j7 z4 E8 T1 k# X! S H" q6 y6 z
& ^( Q$ K# q' W4 t7 D% J
level 5
# b& T1 [/ h+ z4 x5 M+ |' H; U! ]; _- i. l# k& q& _
对于c++无非是oo和gp,想进一步提升oo,<<exeptional c++ style>>是一本主席这么多年的经验之谈,是很长esp的/ U7 ]8 w* h6 p9 r4 r
% ?' M% \! a: d
一位stl高手是不能不去了解template的,<<c++ template>>是一本百科全书,足够你看完后对于gp游刃有余
- J' g5 ?$ L6 f2 f/ j* b. x* n& k1 L$ @# Z) \; o: ^* G' \4 r
<<modern c++ design>>是太过聪明的人写给明眼人看的$ G ]( e! P$ T$ A4 w2 O6 `
; y8 A) { H! v0 |% t* a9 p& S好书有很多,不能一一列举
) u5 f, T% ^# h P9 u8 E
. Z2 E) A; H! ` s: ?. G以上我的读书经历,供各位参考。0 H9 S( V t4 g+ h: @1 O9 R# z( \+ Q
余下的无非就是多看多做练习了,最后就等着量变到质变的过程了。等着进阶到高手行列了!
3 w! b; R. A/ h/ d3 p4 h转自:http://www.bjtarena.com/ |
|