 鲜花( 0)  鸡蛋( 0)
|
记得我在北京达内学习的时候,刚入学时老师给了一本C++基础参考书,后来学了一段时间有了一定的C++基础后就想换换别的参考书看看,在咨询了老师后,老师给列出了下列书籍,我觉得对我很受益
& l( K9 o) P; ^; g! O# \
- M* j" f, q% C3 l/ Y: u( ]* P,今天拿出来晒晒,跟大家一块分享。
+ F0 s& V) o+ \0 f: @2 s7 k9 ~1 F/ `" ~9 b* j' m& o4 U
推荐的阅读顺序:5 T+ e# |/ h5 y
* y) y: }* A+ T. j
level 1
5 C; m$ A: }* D: _3 k9 {; n
) W9 l2 b: l/ z1 S0 N从<<essential c++>>(可不看)开始,短小精悍,可以对c++能进一步了解其特性8 S+ a" m0 F9 F# Y
9 \# I. B. p, k' c% o" p
以<<c++ primer>>作字典和课外读物,因为太厚不可能一口气看完
~' @: q. r! M, z" k( ^- Q
* [! b8 _8 L7 P: D# Llevel 2
. Q" w L! @- V$ {* Z* @3 M
0 n- h: L4 F8 `: z( x然后从<<effective c++>>开始转职,这是圣经,请遵守10诫,要经常看,没事就拿来翻翻- ~# P% p& U8 v0 \1 E
1 f9 Z( j0 |1 g" ~5 e3 Q接着是<<exceptional c++>>,个人认为Herb Sutter主席大人的语言表达能力不及Scott Meyers总是在教育第一线的好
7 X$ K& L. Z+ m- r6 u8 t4 L
0 z$ J a2 x7 [) l' i顺下来就是<<more effective c++>>和<<more exceptional c++>>,请熟读并牢记各条款
# R5 ~8 L: ~" {2 x8 O: W" _3 A$ X" R
, I! s# E. P* U! \, |4 X$ [) C当你读到这里,应该会有一股升级的冲动了4 Z* K$ B/ F. x( O' |. F
- O) Z& l' P3 n0 j7 R; w t7 z
level 3
C M; h' H# N3 Q+ G! n }: [6 ?" K+ i2 }6 p( [$ E9 W8 D
<<insied the c++ object model>>看过后如一缕清风扫去一直以来你对语言的疑惑,你终于能明白compiler到底都背着你做了些什么了,这本书要细细回味,比较难啃,最好反复看几遍,加深印象
5 |: H9 x# e+ ^: G4 j/ q- h
/ _$ d7 g3 b; F- V$ z6 Z t4 c看完上一本之后,这本<<The design and evolution of c++>>会重演一次当年C++他爹在设计整个语言过程中的历程
5 ?6 ^ q" u! ?* _# ^! O, o: e W6 _1 j6 V) w7 ~" U
level 4
2 }: J8 a5 y" r' P- F
3 R* u. Q( I; t1 n% u) K<<the c++ standard lipary>>是stl的字典,要什么都可以查得到& T S0 J3 T+ [
. G% _( s# X3 O) l9 }* }学c++不能不学stl,那么首先是<<effective stl>>,它和圣经一样是你日常行为的规范2 j9 v0 \0 I' z8 G% D$ ^ }
Y5 c" _2 z4 }
<<generic programming and the stl>>让你从oo向gp转变# Y9 \6 h+ I5 G1 c- x0 {) n7 Z3 B
) P8 L% X7 I- U, _
光用不行,我们还有必要了解stl的工作原理,那么<<stl源码剖析>>会解决你所有的困惑
7 H5 ^. V2 S7 S2 l) f6 M& e- n
: O0 E" S0 f# S& c0 j4 s; plevel 5
0 r8 S2 a$ f' ?+ J8 h; u# V9 X# [1 D( O9 \* ]: ~
对于c++无非是oo和gp,想进一步提升oo,<<exeptional c++ style>>是一本主席这么多年的经验之谈,是很长esp的
4 g# \ s$ v7 a/ D; M
1 {3 K; ^& v: p% Y2 A一位stl高手是不能不去了解template的,<<c++ template>>是一本百科全书,足够你看完后对于gp游刃有余
5 X. u9 B# M& ]2 w5 j$ \' _' G- Z# Q/ J# c2 \1 M! m+ X
<<modern c++ design>>是太过聪明的人写给明眼人看的5 P$ {8 E Z. d; ]5 N% s
! Y4 [2 u7 |0 ~7 p" m
好书有很多,不能一一列举; t1 Z7 k$ q" G
" M1 t& z. Q* e3 @以上我的读书经历,供各位参考。' f3 s, g6 g7 Q0 l# ]- k
余下的无非就是多看多做练习了,最后就等着量变到质变的过程了。等着进阶到高手行列了!2 ~& W% z9 t# M1 \' j) H* D1 O; v
转自:http://www.bjtarena.com/ |
|