 鲜花( 0)  鸡蛋( 0)
|
记得我在北京达内学习的时候,刚入学时老师给了一本C++基础参考书,后来学了一段时间有了一定的C++基础后就想换换别的参考书看看,在咨询了老师后,老师给列出了下列书籍,我觉得对我很受益( c3 N$ {& k7 k$ v h7 {
( s! @8 ^9 V& ` R+ S( g, f* {
,今天拿出来晒晒,跟大家一块分享。0 @6 X$ u% T: N+ n- g2 E" e
& z: k# ]8 I/ S ~. w; ]推荐的阅读顺序:7 ?9 ]/ J+ ~" G& n$ T4 G
v( r! I; ?( ]% r( M+ W3 P6 K) H" Flevel 1
T6 d1 w7 n2 C# }% O8 _% u0 t
从<<essential c++>>(可不看)开始,短小精悍,可以对c++能进一步了解其特性
- d1 V/ [3 N% Q# o2 ] X8 m
" m7 D9 A. r2 e2 Z% R F以<<c++ primer>>作字典和课外读物,因为太厚不可能一口气看完7 m8 `' h$ C- S/ d: `& k, j% @1 D( f
. U, z. B* r G: Y: M# C) X
level 2
1 ]1 P0 A+ X: F, w6 D
; P3 B5 \, S% N0 F9 ]7 m2 _: W然后从<<effective c++>>开始转职,这是圣经,请遵守10诫,要经常看,没事就拿来翻翻 ]# p4 c$ k1 [8 Z. D# @! W: e, S
, P2 w7 u) b: Z/ v v2 w
接着是<<exceptional c++>>,个人认为Herb Sutter主席大人的语言表达能力不及Scott Meyers总是在教育第一线的好
( ~) e+ R$ G9 }$ | N$ O5 e5 q# `. O9 l% I
顺下来就是<<more effective c++>>和<<more exceptional c++>>,请熟读并牢记各条款
9 A1 T0 a" i$ q' m* p! d4 }3 [7 I* s! k/ z( V0 o# ^0 r, H
当你读到这里,应该会有一股升级的冲动了
* \/ N9 d3 g6 r' }9 ^
& b, L; c* Y( p- D: v3 b& Glevel 3& F: e+ \/ y- I/ l; d$ V7 w
3 G( l7 w. v3 J+ u9 Z<<insied the c++ object model>>看过后如一缕清风扫去一直以来你对语言的疑惑,你终于能明白compiler到底都背着你做了些什么了,这本书要细细回味,比较难啃,最好反复看几遍,加深印象
8 v d- I! m- U, {, d h: v+ P, c
* x7 S3 P) u8 c3 _: v看完上一本之后,这本<<The design and evolution of c++>>会重演一次当年C++他爹在设计整个语言过程中的历程! |2 y) C* t @4 |4 q
) a( }: B9 s. m/ @: Z
level 4- A& j: f5 I: @2 `- T U8 o* n/ \
. v k, G. K" a5 ?# ~
<<the c++ standard lipary>>是stl的字典,要什么都可以查得到
5 X O, G% p+ ?7 a
, `1 l t' H& [, e9 S学c++不能不学stl,那么首先是<<effective stl>>,它和圣经一样是你日常行为的规范
! G/ p- v& H) e: Y- I9 ^- ]' ~/ n9 n3 J$ c3 ~1 G
<<generic programming and the stl>>让你从oo向gp转变
m* Q, p1 E' W1 W6 H
q: X- z5 B @0 k3 I光用不行,我们还有必要了解stl的工作原理,那么<<stl源码剖析>>会解决你所有的困惑+ r) w5 `! |1 A4 b2 T1 W2 g$ D5 n
% Q4 I' P2 V, J) E9 m1 ~ f
level 5
5 m+ a3 `, R1 E3 |' Y/ q; P9 d5 k% p% {( q' S
对于c++无非是oo和gp,想进一步提升oo,<<exeptional c++ style>>是一本主席这么多年的经验之谈,是很长esp的
1 z' A7 ~5 l$ d5 S8 k
0 E# Y$ O& X; m4 |3 s# U, p一位stl高手是不能不去了解template的,<<c++ template>>是一本百科全书,足够你看完后对于gp游刃有余! O x: m9 O J
6 l9 ~3 f) v r* k: ]% A4 y
<<modern c++ design>>是太过聪明的人写给明眼人看的7 ~' ?" A8 {% r) a& P& o
! j( Q; J7 X4 J, w好书有很多,不能一一列举7 S4 F0 }! H* o7 B
5 J4 n( ^' ?, j' O* h6 Q) N
以上我的读书经历,供各位参考。; V- d/ Y! q1 X7 S
余下的无非就是多看多做练习了,最后就等着量变到质变的过程了。等着进阶到高手行列了!
/ p4 w/ x- f2 `( u& p3 V转自:http://www.bjtarena.com/ |
|