[转帖]C++学习经典

pam 发布于2004-3-9 18:22 852 次浏览 2 位用户参与讨论   [复制分享主题]

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?註冊

x
<FONT color=#ff0033 size=7>事先声明——我不会C++</FONT>
0 [9 E$ t# v1 U2 J5 W/ K/ u) }( P( [+ U4 Y+ m, Z( Y4 L
3 c0 q* F1 M! m- l) a% P5 Q
<FONT color=#000000>下面的是学C++时要注意的。绝对经典。!!</FONT>: A" H, L. Z1 n% ^. a; A

8 C3 \5 b) ?  U0 \! x% L; Z
2 M6 p1 Z5 W. t, w<FONT color=#000000>1.把C++当成一门新的语言学习(和C没啥关系!真的。); </FONT>; K8 z/ X& l8 e. b1 B
$ f% ^: R' w9 X$ V8 b2 ]% w; C

' X+ D9 U  S6 E: q" i' g9 f3 D, U" L<FONT color=#000000>2.看《Thinking In C++》,不要看《C++变成死相》; </FONT>2 f% S( Y2 h5 p: d) U: [( R
' e' ]* I* ?9 o4 V+ G

. g7 J9 u9 l# @4 T/ x* m: i<FONT color=#000000>3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看; </FONT># u+ Z) D, k" l- L$ Y% l0 a/ g- V

  f6 h# F/ P# i8 T
' h; v9 e" I! }* {1 I# Z<FONT color=#000000>4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言; </FONT>) r: K2 L& g; N. |# d% I3 j: l+ A

. @2 i: v: R: P4 F4 }5 @4 O
  H% J: c! I, t0 O0 Q% S<FONT color=#000000>5.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点; </FONT>- i; O3 i7 h2 X
: i; @8 l9 z  H
, m0 n" p- y6 I: F% @, `
<FONT color=#000000>6.会用Visual C++,并不说明你会C++; </FONT>
" u! e% d7 n9 G7 Q; b- N  u' U+ [; @! V- `! Q

' z+ J4 G/ R6 u/ ?( _" F  Z, G. H4 @<FONT color=#000000>7.学class并不难,template、STL、generic programming也不过如此——难的是长期坚持实践和不遗余力的博览群书; </FONT>% i' \# R$ S/ ?1 J
- {" k: V6 b' P2 |# |

; E& l" v8 _* ^% a8 K) e9 i<FONT color=#000000>8.如果不是天才的话,想学编程就不要想玩游戏——你以为你做到了,其实你的C++水平并没有和你通关的能力一起变高——其实可以时刻记住:学C++是为了编游戏的; </FONT>
2 Q4 p- G7 q1 H, }8 \/ N9 X* A' o1 r7 T* H+ b

/ a( k* B, ~% k4 p. T<FONT color=#000000>9.看Visual C++的书,是学不了C++语言的; </FONT>
' S6 _+ D+ A2 e2 {4 e9 |, T, O2 L1 }) z3 A9 V! z
8 j2 N$ k+ m5 `
<FONT color=#000000>10.浮躁的人容易说:XX语言不行了,应该学YY;——是你自己不行了吧!? </FONT>& X  |! J; @: {  W* D

3 a, u/ |7 A2 @1 r) o  H$ ^! t* r6 S0 r; J, M
<FONT color=#000000>11.浮躁的人容易问:我到底该学什么;——别问,学就对了; </FONT>
4 r3 {4 t; c' V6 k% d$ K8 w- S
! c* Q" |5 T9 b9 n2 [( [
5 U6 j) j3 e' U0 r8 g% @- J; Q<FONT color=#000000>12.浮躁的人容易问:XX有钱途吗;——建议你去抢银行; </FONT>' ]6 G2 O, r! G4 @/ y. W8 F
6 r1 m! [- H+ h. J3 X( D3 L
. J1 G. N7 H" U0 n, E7 |
<FONT color=#000000>13.浮躁的人容易说:我要中文版!我英文不行!——不行?学呀! </FONT>: z2 s* \' Q2 K/ Q( f
. a$ _% j; p6 ?2 m; G6 H
, h: C4 h" C6 o  P) c, B
<FONT color=#000000>14.浮躁的人容易问:XX和YY哪个好;——告诉你吧,都好——只要你学就行; </FONT>3 M- ]) b; V+ \: l" S& l7 l* d

* Z, b6 Y# W0 K, a" F+ D- d. j8 x! A
<FONT color=#000000>15.浮躁的人分两种:a)只观望而不学的人;b)只学而不坚持的人; </FONT>8 c8 m9 O( R  I7 d! j3 ]' b! |0 d
) W2 k" R# \+ X* Y' d1 v! ?

' T* Q+ c: L; e7 n<FONT color=#000000>16.把时髦的技术挂在嘴边,还不如把过时的技术记在心里; </FONT>
1 u! n& j- ]2 p' s/ ^
" T' n! T6 `/ F, e8 {& O' x, r2 j
) _4 k( M) F3 C% q1 u9 P% m<FONT color=#000000>17.C++不仅仅是支持面向对象的程序设计语言; </FONT>
& R* d$ T" E" O) f
& R* m" Y! x8 L$ P  T; h
9 V3 n; n4 H2 y3 I# N<FONT color=#000000>18.学习编程最好的方法之一就是阅读源代码; </FONT>
% b. E3 e# W! s& P4 F) h
; W! d2 v; d8 t: ^4 E
% `, X+ P* J' t6 Y; q1 L* P8 z) f<FONT color=#000000>19.在任何时刻都不要认为自己手中的书已经足够了; </FONT>: \8 R+ S6 a* r5 A5 ?' P
# W& `: j( `" u
; G" E. ~- d+ x& ?2 ~
<FONT color=#000000>20.请阅读《The Standard C++ Bible》(中文版:标准C++宝典),掌握C++标准; </FONT>
) y$ M2 w: {  z$ Z( i" v' _
) P- z" E3 m) v$ |) z2 \! N9 Q) `; g6 ]! M& V/ N
<FONT color=#000000>21.看得懂的书,请仔细看;看不懂的书,请硬着头皮看; </FONT>) p* j8 ^! y9 d- b

" \/ P5 k$ k9 J% N  }( C/ X" z* ]3 r0 L( s* g9 \( S
<FONT color=#000000>22.别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍; </FONT>
7 R! s" A% Z$ q
2 H# Z, V* c7 J; k6 J( O4 I' y9 d6 M* N5 I6 V
<FONT color=#000000>23.请看《Effective C++》和《More Effective C++》以及《Exceptional C++》; </FONT>
( N) R" u( u) y6 `
* I' F2 W5 ]$ o5 f
( E1 v, }% I! G8 Q) i( E; ?+ D; \<FONT color=#000000>24.不要停留在集成开发环境的摇篮上,要学会控制集成开发环境,还要学会用命令行方式处理程序; </FONT>( G% y! b. @8 }

* c$ a! o" t* Z5 F. u
( e! J( `# [, ^/ Y& y) @0 L<FONT color=#000000>25.和别人一起讨论有意义的C++知识点,而不是争吵XX行不行或者YY与ZZ哪个好; </FONT>2 q8 p3 n1 |" A) Z
4 d8 v8 m- g* b0 @, ^, N; p2 l7 g

# W/ ~$ N+ B! o' _<FONT color=#000000>26.请看《程序设计实践》,并严格的按照其要求去做; </FONT>
" U6 |3 u8 K+ q6 l0 o8 w: g; L
" s) U* v( @9 r: e6 |. F! b! o
( @, z) x7 x, c+ ]# F<FONT color=#000000>27.不要因为C和C++中有一些语法和关键字看上去相同,就认为它们的意义和作用完全一样; </FONT>
3 v" P& K1 v$ A. R& A4 Z
! w5 K! ?; }6 d* P; G+ {1 I
2 _& w0 x$ n6 K5 T8 q: w+ S<FONT color=#000000>28.C++绝不是所谓的C的“扩充”——如果C++一开始就起名叫Z语言,你一定不会把C和Z语言联系得那么紧密; </FONT>
" E5 K* T* ~: x2 S& _) n
2 d5 N/ s; n6 }  K/ C0 g; `+ S; u+ y# w4 X" C
<FONT color=#000000>29.请不要认为学过XX语言再改学C++会有什么问题——你只不过又在学一门全新的语言而已; </FONT>
' V' B3 f2 Q6 Q: a0 A( K0 K/ b
3 a9 [, |7 h6 n$ q9 \& @9 t# ~0 R$ |% _; q5 S
<FONT color=#000000>30.读完了《Inside The C++ Object Model》以后再来认定自己是不是已经学会了C++; </FONT>
2 M/ E) s$ a& A  i& o* U8 ~2 C) V# G

/ |) \9 p( ]6 `: Q! [<FONT color=#000000>31.学习编程的秘诀是:编程,编程,再编程; </FONT>) w) {7 M9 F! g( Q. ?

1 p$ b4 A5 k5 N4 N7 v/ Z# P
  N3 H8 G) ?4 r, P; y8 ^<FONT color=#000000>32.请留意下列书籍:《C++面向对象高效编程(C++ Effective Object-Oriented Software Construction)》《面向对象软件构造(Object-Oriented Software Construction)》《设计模式(Design Patterns)》《The Art of Computer Programming》; </FONT>
" C7 M! P. i% \% y" z# l6 |, Z" j" A3 Y0 d; \1 V
2 L: Z+ ]1 E) [) F1 p; J
<FONT color=#000000>33.记住:面向对象技术不只是C++专有的; </FONT>, X) i- M$ s$ ]" T( w. U
+ |$ _3 B" {* y  Q: F3 B
4 m9 ^( r6 F* {- f# d* `( V9 p
<FONT color=#000000>34.请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码; </FONT>: W6 l* L  r: c6 B/ _+ T
/ |" W: u  C" x  a; _1 Q

% J" ~7 D+ N$ N: x( @& c# W3 q' S<FONT color=#000000>35.把在书中看到的有意义的例子扩充; </FONT>5 E+ w/ k3 n- E6 m% [

$ U& l0 m% w- r
9 e. h, z2 K- U* O* s8 T5 N<FONT color=#000000>36.请重视C++中的异常处理技术,并将其切实的运用到自己的程序中; </FONT>9 J" e* x) `  n- y4 c* j
! |4 ]& d0 m2 H7 C9 A& D
( r5 B3 I0 R. l, Q% [+ n
<FONT color=#000000>37.经常回顾自己以前写过的程序,并尝试重写,把自己学到的新知识运用进去; </FONT>
  L# O% Q* f  A( S. D
: r2 }6 h/ E+ ]- j, b
1 o& V: b. i6 G# }<FONT color=#000000>38.不要漏掉书中任何一个练习题——请全部做完并记录下解题思路; </FONT>
1 M9 T( M5 ]6 I% c7 X. i5 N/ |! x: O& y- f( x+ ~0 Q+ p1 S- c

5 d4 o( z) J+ S) I' l& q<FONT color=#000000>39.C++语言和C++的集成开发环境要同时学习和掌握; </FONT>
- ?2 D" @  z/ g% t) o9 _' S9 Y
- a% k. R& S" f" x, V6 y1 P3 z6 I
* y' h; t7 `$ ~: H<FONT color=#000000>40.既然决定了学C++,就请坚持学下去,因为学习程序设计语言的目的是掌握程序设计技术,而程序设计技术是跨语言的; </FONT>
) u; g+ f2 a( A  t' A" `
$ |* u. ]( h: |" Q% i* [0 R7 s- @& e3 f; P" u# s
<FONT color=#000000>41.就让C++语言的各种平台和开发环境去激烈的竞争吧,我们要以学习C++语言本身为主; </FONT>
# j' T  K0 u$ e. U% @8 L: D% K
- w, j5 E$ g9 c* _9 P- w7 j+ g) v2 n/ f: M0 _$ X
<FONT color=#000000>42.当你写C++程序写到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余下的部分粗略的完成以保证这个设计的完整性,然后分析自己的错误并重新设计和编写(参见43); </FONT>2 T# l2 X( H5 B+ k$ j' o
* u* F6 _, Q* Q5 j& o
$ T! M, w4 ?7 ^% u; u
<FONT color=#000000>43.别心急,设计C++的class确实不容易;自己程序中的class和自己的class设计水平是在不断的编程实践中完善和发展的; </FONT>( j7 _3 i4 e! g" u! r0 u4 m; P
" {5 s- }% U7 H

2 Z: U* F4 b; d" Y2 ^<FONT color=#000000>44.决不要因为程序“很小”就不遵循某些你不熟练的规则——好习惯是培养出来的,而不是一次记住的; </FONT>
( M9 B, b, b' B1 N& o# b" w/ q8 x. X; l& f( ]6 K

! K5 j' Z3 I+ _& I" g' _<FONT color=#000000>45.每学到一个C++难点的时候,尝试着对别人讲解这个知识点并让他理解——你能讲清楚才说明你真的理解了; </FONT>
2 a# x( w7 ?1 g$ [2 I3 Q( D2 e" o& a, k% A- b! v" q+ y
7 _1 N; s$ @3 p3 d' X7 @
<FONT color=#000000>46.记录下在和别人交流时发现的自己忽视或不理解的知识点; </FONT>
; u6 s5 g9 ]1 \' c
: N% s2 q4 f( T7 g& g0 ?
; z) A6 D6 ?$ Q<FONT color=#000000>47.请不断的对自己写的程序提出更高的要求,哪怕你的程序版本号会变成Version 100.XX; </FONT>
* B) r6 h# x! m; I& |3 V5 u" E" e* j8 o/ M
$ I6 T1 K: K  P7 L! o. |( e9 H1 C
<FONT color=#000000>48.保存好你写过的所有的程序——那是你最好的积累之一; </FONT>
: l) S5 E; ]# W0 S, e+ {
: L0 v# j6 d- L. b4 W" ~, G7 ]" F# g3 ^5 l( j
<FONT color=#000000>49.请不要做浮躁的人; </FONT>+ J* S3 P* \7 v: f! `1 F

2 Q" s* A. R+ S0 M( u, b4 J; T0 s
5 A0 C- M: l1 i1 Z- c<FONT color=#000000>50.请热爱C++! </FONT><A href="http://khongf.126.com" target="_blank" ></A>1 q: i1 q, R6 T& o7 ]4 s) n

; V9 G2 j, ]. f

已有(2)人评论

dandelion 发表于 2004-3-25 06:00:59 | 显示全部楼层
好帖
strong 发表于 2004-4-17 21:40:19 | 显示全部楼层
好像看过
您需要登录后才可以回帖 登录 | 註冊

本版积分规则

快速
回复
返回
列表
返回
顶部