 鲜花( 0)  鸡蛋( 0)
|
记得我在北京达内学习的时候,刚入学时老师给了一本C++基础参考书,后来学了一段时间有了一定的C++基础后就想换换别的参考书看看,在咨询了老师后,老师给列出了下列书籍,我觉得对我很受益6 w5 f( [& C( F" ~
% A/ p! r# ^5 C9 Y' \,今天拿出来晒晒,跟大家一块分享。2 Q$ z/ R" ~! c+ c
) H. K/ }2 S7 Z$ P推荐的阅读顺序:# V2 ~0 B9 q, b+ O. r
4 k9 l4 A" m4 G* d& c8 n+ llevel 1
( [- h6 e- n- t; v7 `, s* h; F K- L& @' k* Z
从<<essential c++>>(可不看)开始,短小精悍,可以对c++能进一步了解其特性
o. O, D! I3 G$ ~* s( c t- `- [+ K! C G2 Z7 d
以<<c++ primer>>作字典和课外读物,因为太厚不可能一口气看完
7 D7 R) x) m( n7 w+ T- c: g/ x: e% k0 @6 ^& Q+ g& D3 z8 C
level 29 ?; @6 o% m' r# c8 ?' G
1 N7 _7 c1 @* x. V
然后从<<effective c++>>开始转职,这是圣经,请遵守10诫,要经常看,没事就拿来翻翻6 @7 @% V1 g: Q$ d U& y5 U
6 m* P, K, z$ u5 f! B& d- E2 N$ ~接着是<<exceptional c++>>,个人认为Herb Sutter主席大人的语言表达能力不及Scott Meyers总是在教育第一线的好/ g. ~3 y# |: \; u2 S
0 C- Q& M. Z4 A4 B9 S$ @* u) L/ _' B0 L
顺下来就是<<more effective c++>>和<<more exceptional c++>>,请熟读并牢记各条款
0 J- W, m# K* F& V( u8 V5 v1 `2 Q2 I( R* Q; u `8 j/ j: a6 L
当你读到这里,应该会有一股升级的冲动了* Z+ N/ L) ]& Q. }0 h
8 d y. f+ h4 I5 ]% }6 k$ Llevel 3
& b1 ^" }- B/ R6 x& d( e2 }( n, v, t& v
<<insied the c++ object model>>看过后如一缕清风扫去一直以来你对语言的疑惑,你终于能明白compiler到底都背着你做了些什么了,这本书要细细回味,比较难啃,最好反复看几遍,加深印象1 D, P- W3 I6 Y R8 R3 z" N
# ?; I+ Y0 X7 u9 p1 ^$ |看完上一本之后,这本<<The design and evolution of c++>>会重演一次当年C++他爹在设计整个语言过程中的历程, L! x3 [) Y: F2 ^3 M. {5 d3 K# U
& G" E& r- H! s- A2 t) b# ?9 E5 q
level 4 Q% H/ ?5 d& W( X {; T
# x. i3 [8 Z0 P( @# z, j& n' [<<the c++ standard lipary>>是stl的字典,要什么都可以查得到, i( q! ?* p% y4 t
1 ^5 V# G" y) b6 w% F' B学c++不能不学stl,那么首先是<<effective stl>>,它和圣经一样是你日常行为的规范
' W7 d0 Q9 h+ Z: A. r" C6 D) K6 q9 w4 g; W
<<generic programming and the stl>>让你从oo向gp转变
, O0 f; k. ?, A
% i. X$ @$ C: j" s$ J% d光用不行,我们还有必要了解stl的工作原理,那么<<stl源码剖析>>会解决你所有的困惑! Y) M! j$ m; w
- Y& ?$ G. K& }6 Z0 g Blevel 5. ~ t0 k' k" u% J2 _4 C8 }& m
1 l2 Q5 g4 }8 t. v% S8 U* |+ [5 s
对于c++无非是oo和gp,想进一步提升oo,<<exeptional c++ style>>是一本主席这么多年的经验之谈,是很长esp的
! J* i: f; ?" T" f- G- m" N; @; N9 t, F3 ?+ U0 ?6 n" s) m- _& n* f( W
一位stl高手是不能不去了解template的,<<c++ template>>是一本百科全书,足够你看完后对于gp游刃有余; P; j0 f! ~, J1 L0 @# T" p
: v5 U5 n, J5 |. G* }( _4 t
<<modern c++ design>>是太过聪明的人写给明眼人看的$ o6 P! x: z& p2 b
: g [. E# Q6 F# ?# o) ]好书有很多,不能一一列举1 ^9 p( A7 \4 q: P# w, R
! l1 T' `) y$ J- l以上我的读书经历,供各位参考。
& G" ?" n6 U2 S: R2 r" M2 d; W余下的无非就是多看多做练习了,最后就等着量变到质变的过程了。等着进阶到高手行列了!
9 Z: {( @% c, B, M转自:http://www.bjtarena.com/ |
|