 鲜花( 0)  鸡蛋( 0)
|
记得我在北京达内学习的时候,刚入学时老师给了一本C++基础参考书,后来学了一段时间有了一定的C++基础后就想换换别的参考书看看,在咨询了老师后,老师给列出了下列书籍,我觉得对我很受益
' d! r, N* V% \' L
! H/ {( ]4 o" H& v3 K,今天拿出来晒晒,跟大家一块分享。
, y; `* Q$ V- A5 A0 f) F2 U: x# B8 U" ~! R& Q
推荐的阅读顺序:% e b# u/ n: k0 w+ q, e
' Z" O0 V+ v1 K+ B; r+ P
level 12 h; \% s% q9 k0 g) w- s8 C
; N$ N' Q3 x! C
从<<essential c++>>(可不看)开始,短小精悍,可以对c++能进一步了解其特性! F! D; ~( M( C" q
Q$ B1 j2 k6 L2 u% r& U% J/ Z
以<<c++ primer>>作字典和课外读物,因为太厚不可能一口气看完
?6 W2 z2 \9 d: K& U' @5 j4 ~3 ?$ H, V. y' z
level 2
: T% K9 e' \9 w9 G9 N( V- g' M9 c- L8 {; C3 V1 q4 e& d' `: d
然后从<<effective c++>>开始转职,这是圣经,请遵守10诫,要经常看,没事就拿来翻翻
' [5 R, x1 p8 i1 ~8 m5 F6 }6 @
/ f# ]* e9 ^% \: [/ O$ x6 ^3 A接着是<<exceptional c++>>,个人认为Herb Sutter主席大人的语言表达能力不及Scott Meyers总是在教育第一线的好+ o: i. O$ \6 T& ~) U. D" E
% Q+ i! Z/ {; _ W( M G顺下来就是<<more effective c++>>和<<more exceptional c++>>,请熟读并牢记各条款4 ?! s0 e! |$ e1 x3 B# D& f+ i9 c0 K
- _6 _4 _8 B9 S4 p) C8 B) C
当你读到这里,应该会有一股升级的冲动了& i9 c; e; r% E) u, r* ^: A
' d7 A1 Z3 Z/ ~level 3
; D+ a' z4 i8 z2 N9 o* e- L; v6 [5 W4 v2 U' V/ a% F
<<insied the c++ object model>>看过后如一缕清风扫去一直以来你对语言的疑惑,你终于能明白compiler到底都背着你做了些什么了,这本书要细细回味,比较难啃,最好反复看几遍,加深印象' m" t) I. O9 b" T+ {
, g6 J; D s1 E% T看完上一本之后,这本<<The design and evolution of c++>>会重演一次当年C++他爹在设计整个语言过程中的历程
6 E9 L' |/ J! R) Q* ^; O8 r
p/ } p8 h$ E8 [3 }( E7 Y. elevel 4
. U' ?* Z" O0 H2 S3 I2 W8 M
- N0 V8 P$ o3 t( b# P$ y" Q<<the c++ standard lipary>>是stl的字典,要什么都可以查得到9 P+ G1 `- `, c) X( Y
0 j8 z8 f# O# ^
学c++不能不学stl,那么首先是<<effective stl>>,它和圣经一样是你日常行为的规范
8 y7 C0 p' g/ I: b1 @4 N
- l' x" R/ `# U( W2 ]' B( |7 o' Z2 r<<generic programming and the stl>>让你从oo向gp转变
/ U) z7 J/ l: }6 g' |! F/ r3 c
T" |& M9 k0 a9 M4 ?: u) V光用不行,我们还有必要了解stl的工作原理,那么<<stl源码剖析>>会解决你所有的困惑* t- @! _ [% `$ j6 s) I
) Q3 k8 c J5 F. n* E8 b& J2 j, x& `level 5
( E! f+ y8 D' z. p- p9 R+ }; \2 V% |( c5 Y" g
对于c++无非是oo和gp,想进一步提升oo,<<exeptional c++ style>>是一本主席这么多年的经验之谈,是很长esp的 I5 u( n+ E7 I/ g9 c
2 ^0 D$ | D4 l: z! P h4 r一位stl高手是不能不去了解template的,<<c++ template>>是一本百科全书,足够你看完后对于gp游刃有余" L: \) n( Q" p2 d. R: }
8 M' J; R( X( X8 t( Y% z* @
<<modern c++ design>>是太过聪明的人写给明眼人看的
* k/ F0 A1 K7 j* c* [0 h
2 T3 f* e! m( \1 [( s! E$ k, L好书有很多,不能一一列举7 n1 h8 e1 D2 z1 U+ n
: ]! N. M% d! ` v2 f以上我的读书经历,供各位参考。. b: y, ^; x4 T/ m" I/ f% g
余下的无非就是多看多做练习了,最后就等着量变到质变的过程了。等着进阶到高手行列了!6 d% N( q4 d" u6 l9 u
转自:http://www.bjtarena.com/ |
|