 鲜花( 0)  鸡蛋( 0)
|
记得我在北京达内学习的时候,刚入学时老师给了一本C++基础参考书,后来学了一段时间有了一定的C++基础后就想换换别的参考书看看,在咨询了老师后,老师给列出了下列书籍,我觉得对我很受益+ l$ b* \3 d/ F2 [: F4 n1 x
+ \( q4 I6 M5 \; X9 f1 f+ o
,今天拿出来晒晒,跟大家一块分享。/ }1 l' ~& C. c- ]8 u
3 M1 i; ]0 r4 w4 {9 [1 G8 X& [推荐的阅读顺序:
- G, J0 D: N; V" J: c) u, y) M2 b. ?5 s q% Z" |5 K6 m
level 1( h+ N& }2 c1 V
8 G& T. N5 F+ h/ e% r- r: h
从<<essential c++>>(可不看)开始,短小精悍,可以对c++能进一步了解其特性
0 c5 q5 P; ~+ J; j7 K4 T, V, L
! V+ u$ f! U& D! t; c, v) L以<<c++ primer>>作字典和课外读物,因为太厚不可能一口气看完
4 @! L8 Q) d9 P) M# g9 f H' O# I! s& j( p2 _2 e
level 2# f4 w# X+ d3 ?9 v+ H3 m
2 S$ Z Z! B0 f然后从<<effective c++>>开始转职,这是圣经,请遵守10诫,要经常看,没事就拿来翻翻
, q1 {" o& O3 K- A3 ~+ p/ i9 a5 X, |" _7 ~# C/ P7 }; \
接着是<<exceptional c++>>,个人认为Herb Sutter主席大人的语言表达能力不及Scott Meyers总是在教育第一线的好
6 A! J; l0 u$ U; b' A, t8 {- D, ?& V6 V9 b- V& X9 i$ E ~6 s" }
顺下来就是<<more effective c++>>和<<more exceptional c++>>,请熟读并牢记各条款% \1 T: A* O* k. H# T
. T0 }; a0 k1 O+ W0 a' s2 h
当你读到这里,应该会有一股升级的冲动了
( d; c% s+ I) C/ U( G5 M2 ]
" Q2 R; {9 x0 w a8 L, ^/ K' }level 3- L1 @1 \: \$ |7 r
- r3 j l# {# i- x
<<insied the c++ object model>>看过后如一缕清风扫去一直以来你对语言的疑惑,你终于能明白compiler到底都背着你做了些什么了,这本书要细细回味,比较难啃,最好反复看几遍,加深印象3 \ h) U& ~' S9 i9 Y4 _1 H
# H8 m' K# N% ^看完上一本之后,这本<<The design and evolution of c++>>会重演一次当年C++他爹在设计整个语言过程中的历程
( X2 {$ n) u# _3 m
5 i% I: E5 J7 x0 Q" R9 [+ S, xlevel 4
$ m: Q. s" z% W8 Q' c' l8 A5 h B' ~9 h, K7 }
<<the c++ standard lipary>>是stl的字典,要什么都可以查得到* p/ ~7 y" @* L5 Q9 b o4 h
+ \) a4 q" r; @; }" M
学c++不能不学stl,那么首先是<<effective stl>>,它和圣经一样是你日常行为的规范( x7 O! ?* Y* x8 y, e5 O! e
: p+ r# w4 y B5 E. Q2 \/ d% A0 K
<<generic programming and the stl>>让你从oo向gp转变/ b+ p) e H8 m$ ] Z A) l0 X! D
4 i+ o- R* L g1 O( |; _. N$ T* V
光用不行,我们还有必要了解stl的工作原理,那么<<stl源码剖析>>会解决你所有的困惑
2 @( j9 Z2 }4 q& k
, y; ], r5 }1 c! J/ |, Slevel 5% ]# x* M6 [ |6 g" T6 ` ?1 P
% w+ \- ^" ]0 x对于c++无非是oo和gp,想进一步提升oo,<<exeptional c++ style>>是一本主席这么多年的经验之谈,是很长esp的
, X4 p8 t) S* u, ^# J* x5 q- Y/ A7 W% B
一位stl高手是不能不去了解template的,<<c++ template>>是一本百科全书,足够你看完后对于gp游刃有余
# N+ ]: Q+ w$ `" M4 C! H6 y* u( M- f8 o, Z
<<modern c++ design>>是太过聪明的人写给明眼人看的; [: g& p: n# r+ ?$ I5 u
8 j9 [& V% L6 Z, [1 x8 W
好书有很多,不能一一列举
$ s1 C! l2 \2 j/ I( P8 _# Z; n# g& b; J9 j6 R% Y/ [
以上我的读书经历,供各位参考。. m" e* |% Z5 Q/ z
余下的无非就是多看多做练习了,最后就等着量变到质变的过程了。等着进阶到高手行列了!2 ^! I P! U( s/ d' T! g, s" Q' q
转自:http://www.bjtarena.com/ |
|