 鲜花( 0)  鸡蛋( 0)
|
记得我在北京达内学习的时候,刚入学时老师给了一本C++基础参考书,后来学了一段时间有了一定的C++基础后就想换换别的参考书看看,在咨询了老师后,老师给列出了下列书籍,我觉得对我很受益0 s7 U! h; y, f
: U! W8 G0 |- Q% a,今天拿出来晒晒,跟大家一块分享。$ |. _) U. l4 T
% J a }( P6 E. k推荐的阅读顺序:
; Q8 z1 Z9 g5 X6 g! c. t# r: N7 }. q& x9 \. ]) _, N2 a2 w+ Y
level 1
$ |6 R4 Y( {' p8 L( ^, }% ~0 @2 X( x; O1 @8 e) l9 u
从<<essential c++>>(可不看)开始,短小精悍,可以对c++能进一步了解其特性! j7 W: n0 `& |
( i+ I1 a9 a- h; h! {: c" ~1 o
以<<c++ primer>>作字典和课外读物,因为太厚不可能一口气看完5 V9 k" j9 @2 F" i
- L4 C/ l7 v# Hlevel 2
7 n& x9 E2 @: M% c
o3 W+ Q" X: j; W* ?然后从<<effective c++>>开始转职,这是圣经,请遵守10诫,要经常看,没事就拿来翻翻
" y- N( E) c6 k# Z
5 |8 I. [6 x# w& g% o/ \% S4 m接着是<<exceptional c++>>,个人认为Herb Sutter主席大人的语言表达能力不及Scott Meyers总是在教育第一线的好
& C: m" X U+ _4 K' E$ x' V6 M$ Z# l, I6 ^, P6 ]) ^7 x
顺下来就是<<more effective c++>>和<<more exceptional c++>>,请熟读并牢记各条款
7 v$ J: o; A( L: n' l' j _* B5 }% i; u2 U) i
当你读到这里,应该会有一股升级的冲动了) m H/ I: [6 G A3 D. ~# z
2 }; y/ s; ?- q* H5 Y! R' l( [level 3
* `1 o. |' k+ T/ ~" b. Z( K
% h! G! a7 U: {7 {5 i1 ?<<insied the c++ object model>>看过后如一缕清风扫去一直以来你对语言的疑惑,你终于能明白compiler到底都背着你做了些什么了,这本书要细细回味,比较难啃,最好反复看几遍,加深印象
# h% Z: v& k" o. O5 i9 F
' L: P+ k. M3 t4 y. @9 R9 @( _看完上一本之后,这本<<The design and evolution of c++>>会重演一次当年C++他爹在设计整个语言过程中的历程! n4 b1 W* b, A* g) h) I
* J: G* u" h* b7 M( K/ F0 `: J
level 4) c, n$ E: k4 ]. ] f
: X1 f% b7 J: S5 d% Z; ~8 @
<<the c++ standard lipary>>是stl的字典,要什么都可以查得到8 L: x" \$ I6 ?$ I, Q& l) M7 m
9 m7 e: t1 p3 n) Z0 C
学c++不能不学stl,那么首先是<<effective stl>>,它和圣经一样是你日常行为的规范+ v; I# g6 B' M& h2 d0 [* D0 ~- y
! a$ Y2 A2 H; X; d1 H2 ]9 p<<generic programming and the stl>>让你从oo向gp转变% j/ }% m# A/ O! P g+ h7 ]6 h7 ^0 c
# l4 L) h$ P8 a5 h, `+ K
光用不行,我们还有必要了解stl的工作原理,那么<<stl源码剖析>>会解决你所有的困惑3 X* T0 r% |% s1 _/ Q3 _( Y7 ^
; Q) L8 A) b+ h: D( x8 u5 ulevel 5
% Y: |+ c% c" i; x' H' t
3 ?% g) v% d' x( {* d* a对于c++无非是oo和gp,想进一步提升oo,<<exeptional c++ style>>是一本主席这么多年的经验之谈,是很长esp的
; ]( \( Z0 G0 O( {) }: J) O _; M7 V; \" g
一位stl高手是不能不去了解template的,<<c++ template>>是一本百科全书,足够你看完后对于gp游刃有余) W9 s8 b: d" v7 h i R4 y
! P: L- |9 N |/ i9 x- x2 y
<<modern c++ design>>是太过聪明的人写给明眼人看的
& z: p. i! U# b9 ?
" ]- H0 o5 e* r l' c好书有很多,不能一一列举
* i+ [( j5 ~/ K- a! i$ Y
% p. S3 T2 V! }' ~ P: ?以上我的读书经历,供各位参考。* b' G/ H0 `$ v3 l/ g/ K
余下的无非就是多看多做练习了,最后就等着量变到质变的过程了。等着进阶到高手行列了!) X1 X" v0 G9 B6 `
转自:http://www.bjtarena.com/ |
|