对于学习C++的50条忠告; T8 H, j6 \' Q! ?3 I, A- H
学习c++的50条忠告 转自【编程中国】
: a$ K# g; W8 b2 O5 R0 K3 g打造第一绿色软件门户!4`0N2?%I9[#m3y
( C3 U- B( w) U1.把C++当成一门新的语言学习(和C没啥关系!真的。); bbs.lvdown.com.T8q!U/_;K(A1 z" |; Z, {3 `; ~1 n. q6 a
2.看《Thinking In C++》,不要看《C++变成死相》; bbs.lvdown.com8o7J,W)y6f! |
- J8 @- Y: S3 p- E L3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看;
2 l& V. B. L* C4 z% ?4.不要被 VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言; bbs.lvdown.com(o!p.Y5L-E;D+A$E
1 Y1 f) z7 {" ^* N+ j$ @5.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点;
$ e7 E) ?8 J% _6 o& t# S6.会用Visual C++,并不说明你会C++; 1 M9 X: J5 `& E5 t+ k
7.学class并不难,template、STL、generic programming也不过如此——难的是长期坚持实践和不遗余力的博览群书; 绿色软件|下载|免费|论坛|社区|软件绿化( _,u-c0S;h3n#Z9?2l
' f- E, \" G: C, r' a0 {9 u8.如果不是天才的话,想学编程就不要想玩游戏——你以为你做到了,其实你的C++水平并没有和你通关的能力一起变高——其实可以时刻记住:学C++是为了编游戏的;
1 g" y) ~3 w5 y) ^9.看Visual C++的书,是学不了C++语言的;
5 f* K6 K9 x( @$ k) C6 F% a/ N, ]5 C3 M10.浮躁的人容易说:XX语言不行了,应该学YY;——是你自己不行了吧!? 绿色软件|下载|免费|论坛|社区|软件绿化8k5q(I#?$l; ?"X1I%J1h0 m" X$ _ Q f
11.浮躁的人容易问:我到底该学什么;——别问,学就对了; 绿色软件|下载|免费|论坛|社区|软件绿化,v(s"V'U2@6F;i1p-P(q+ k: a6 u. d! f* L4 F; [3 o
12.浮躁的人容易问:XX有钱途吗;——建议你去抢银行;8u%N* @,W4M1^&V9X1p0 v- d4 s" `$ W9 a
13.浮躁的人容易说:我要中文版!我英文不行!——不行?学呀!
W/ a, y' h" r14.浮躁的人容易问:XX和YY哪个好;——告诉你吧,都好——只要你学就行; / ^& E5 f1 |5 h- m8 S P2 Z
15.浮躁的人分两种:a)只观望而不学的人;b)只学而不坚持的人;
+ o& }) W; ]5 I" N w& v8 o2 M16.把时髦的技术挂在嘴边,还不如把过时的技术记在心里;
" U: J/ m& r2 P+ L17.C++不仅仅是支持面向对象的程序设计语言; # A1 @" p7 A9 v, }7 A* _4 ]
18.学习编程最好的方法之一就是阅读源代码; # ]$ q2 Q6 O) T- g" x" X
19.在任何时刻都不要认为自己手中的书已经足够了;
2 d4 S8 v; H3 p1 d20.请阅读《The Standard C++ Bible》(中文版:标准C++宝典),掌握C++标准; 绿色,软件,论坛,社区,免费,绿软,软件绿化!C9e8R+b%K(u"j E
I8 i x& D s: d$ }21.看得懂的书,请仔细看;看不懂的书,请硬着头皮看; *o7o"j+u+^2M0l.K,C5 @; y, ^2 Y: A! U. v1 r
22.别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍; ' {7 X- Y+ P+ |4 k- d$ ^# h* k
23.请看《Effective C++》和《More Effective C++》以及《Exceptional C++》; 绿色软件|下载|免费|论坛|社区|软件绿化6Y0?$l,V,k6g8S
4 I% ~* [8 r- g ^24.不要停留在集成开发环境的摇篮上,要学会控制集成开发环境,还要学会用命令行方式处理程序; , e2 j% w1 l- e8 r4 @' e
25.和别人一起讨论有意义的C++知识点,而不是争吵XX行不行或者YY与ZZ哪个好;
9 _3 Y4 _5 w; I, R# K26.请看《程序设计实践》,并严格的按照其要求去做; 2L l" |:_0b" [9i,a9 Z* G: B1 d# i( y6 V" h; m& e" i
27.不要因为C和C++中有一些语法和关键字看上去相同,就认为它们的意义和作用完全一样;
* E4 t! s( H6 t4 ^& v3 P28.C++绝不是所谓的C的“扩充”——如果C++一开始就起名叫Z语言,你一定不会把C和Z语言联系得那么紧密;
9 \, m) d9 c8 w3 m; o) X1 Q29.请不要认为学过XX语言再改学C++会有什么问题——你只不过又在学一门全新的语言而已; 绿色软件|下载|免费|论坛|社区|软件绿化0o0O*F7r/k3x#T7i2 N1 J0 W5 _% I; d8 K* \) n" @- k
30.读完了《Inside The C++ Object Model》以后再来认定自己是不是已经学会了C++;
+ }7 F) o v: y31.学习编程的秘诀是:编程,编程,再编程; 打造第一绿色软件门户!'g& [)b0j8w,{
* j- Y' e; z1 q S! T32.请留意下列书籍:《C++面向对象高效编程(C++ Effective Object-Oriented Software Construction)》《面向对象软件构造(Object-Oriented Software Construction)》《设计模式(Design Patterns)》《The Art of Computer Programming》; / P4 W2 r+ M5 Q
33.记住:面向对象技术不只是C++专有的; 绿色软件|下载|免费|论坛|社区|软件绿化.o*N5_-`*w.O+E,\3?;z3 i1 F( C' r2 Q
34.请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码; 中国绿软基地论坛(u$W;H-C0K.|:t+I# p, X3 K3 Q; |0 B( V7 r
35.把在书中看到的有意义的例子扩充;
. R: B" i) {( S36.请重视C++中的异常处理技术,并将其切实的运用到自己的程序中; 1]2B!a#Z9V8r-P6] H: J9 ~* g/ t/ P, ]$ ?$ h) ?
37.经常回顾自己以前写过的程序,并尝试重写,把自己学到的新知识运用进去; % d& S4 L3 `. n8 \" E
38.不要漏掉书中任何一个练习题——请全部做完并记录下解题思路;
5 l" |4 C% i- @1 W4 @/ E) d39.C++语言和C++的集成开发环境要同时学习和掌握; 打造第一绿色软件门户!9t5I6I9o4g.e5O8N* M; g- P' D$ D# K$ o: F
40.既然决定了学C++,就请坚持学下去,因为学习程序设计语言的目的是掌握程序设计技术,而程序设计技术是跨语言的;
8 r& i9 B! e! f7 `$ o0 k41.就让C++语言的各种平台和开发环境去激烈的竞争吧,我们要以学习C++语言本身为主; 绿色软件|下载|免费|论坛|社区|软件绿化5w8[+M5I.z)S/v2 }3 f: f+ n- J+ F
42.当你写C++程序写到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余下的部分粗略的完成以保证这个设计的完整性,然后分析自己的错误并重新设计和编写(参见43); 打造第一绿色软件门户!!m J6]1{+P$V(p6?'k:a* M- S+ O9 F& \) d" g+ y6 k
43.别心急,设计C++的class确实不容易;自己程序中的class和自己的class设计水平是在不断的编程实践中完善和发展的;
! S+ ], ~: f0 \. Y( t* N44.决不要因为程序“很小”就不遵循某些你不熟练的规则——好习惯是培养出来的,而不是一次记住的; / c# F% k" I0 D; ?
45.每学到一个C++难点的时候,尝试着对别人讲解这个知识点并让他理解——你能讲清楚才说明你真的理解了; $ D4 o2 x( w/ d. S: @
46.记录下在和别人交流时发现的自己忽视或不理解的知识点;
: q* {2 O o& S8 D$ l9 m: X# P' B47.请不断的对自己写的程序提出更高的要求,哪怕你的程序版本号会变成Version 100.XX; bbs.lvdown.com6Y0H6f0j$T;m5e
" m2 c( x" g1 x( a* U( S48.保存好你写过的所有的程序——那是你最好的积累之一; 中国绿软基地论坛*m,[:C%B-G.f+Y+ W: o3 a* | z! o8 T( h$ R' `
49.请不要做浮躁的人; 打造第一绿色软件门户!$I2Z7n.@)g0a7|,E7i/ B* K" I% b$ J
50.请热爱C++! |