对于学习C++的50条忠告
% Q0 ]- @+ x0 V( Z! E: a学习c++的50条忠告 转自【编程中国】) j& u, Q6 C, q; e, E* j
打造第一绿色软件门户!4`0N2?%I9[#m3y
; @1 O$ Y/ T* W7 Q7 @1.把C++当成一门新的语言学习(和C没啥关系!真的。); bbs.lvdown.com.T8q!U/_;K(A
# T" a' {$ V: a2.看《Thinking In C++》,不要看《C++变成死相》; bbs.lvdown.com8o7J,W)y6f! |1 z$ ?6 I; x6 i% B+ o
3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看;
- r. E: g' w3 f+ i3 p, v( N4.不要被 VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言; bbs.lvdown.com(o!p.Y5L-E;D+A$E
# t3 k! {3 |2 D" P8 B* ^: j5.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点;
7 x, ^* q1 T6 J1 p6 P6.会用Visual C++,并不说明你会C++;
7 n" K! K3 i- C8 G: K/ V- D* ^: P7.学class并不难,template、STL、generic programming也不过如此——难的是长期坚持实践和不遗余力的博览群书; 绿色软件|下载|免费|论坛|社区|软件绿化( _,u-c0S;h3n#Z9?2l
: M- `# z+ F$ `* n8 q8.如果不是天才的话,想学编程就不要想玩游戏——你以为你做到了,其实你的C++水平并没有和你通关的能力一起变高——其实可以时刻记住:学C++是为了编游戏的;
2 w- m# e% S F9.看Visual C++的书,是学不了C++语言的; 8 B x9 w8 {: v6 ^* ~
10.浮躁的人容易说:XX语言不行了,应该学YY;——是你自己不行了吧!? 绿色软件|下载|免费|论坛|社区|软件绿化8k5q(I#?$l; ?"X1I%J1h
# f+ K* i8 O: d. O' {11.浮躁的人容易问:我到底该学什么;——别问,学就对了; 绿色软件|下载|免费|论坛|社区|软件绿化,v(s"V'U2@6F;i1p-P(q
8 [! u; z- U4 \! B12.浮躁的人容易问:XX有钱途吗;——建议你去抢银行;8u%N* @,W4M1^&V9X1p
6 e1 O7 G9 g0 N" m% t% B13.浮躁的人容易说:我要中文版!我英文不行!——不行?学呀! $ B c5 ]# J8 X& c) p' K) V# y
14.浮躁的人容易问:XX和YY哪个好;——告诉你吧,都好——只要你学就行;
$ A- H# F9 s8 s% z% j/ p c1 }15.浮躁的人分两种:a)只观望而不学的人;b)只学而不坚持的人;
8 A9 d. M' C3 f: @/ m5 N16.把时髦的技术挂在嘴边,还不如把过时的技术记在心里;
3 M7 T$ t' I- p6 `5 Z17.C++不仅仅是支持面向对象的程序设计语言; 7 P6 E0 [7 s. K e
18.学习编程最好的方法之一就是阅读源代码; 8 ^5 o( L' ?2 L6 Q9 A$ k
19.在任何时刻都不要认为自己手中的书已经足够了;
4 H P1 W* e: h/ U20.请阅读《The Standard C++ Bible》(中文版:标准C++宝典),掌握C++标准; 绿色,软件,论坛,社区,免费,绿软,软件绿化!C9e8R+b%K(u"j E
% b5 N* T) s% s; ~% O21.看得懂的书,请仔细看;看不懂的书,请硬着头皮看; *o7o"j+u+^2M0l.K,C
7 A. f3 z5 S: G; S( }9 Z22.别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍; 8 Y* s, I, h1 U- N& l
23.请看《Effective C++》和《More Effective C++》以及《Exceptional C++》; 绿色软件|下载|免费|论坛|社区|软件绿化6Y0?$l,V,k6g8S
- ~; w7 J, g; |$ S& T( ~' \24.不要停留在集成开发环境的摇篮上,要学会控制集成开发环境,还要学会用命令行方式处理程序; 3 J5 W2 w7 C- p0 d1 H" d9 x1 q
25.和别人一起讨论有意义的C++知识点,而不是争吵XX行不行或者YY与ZZ哪个好;
: a- J G1 E$ }1 r; ]/ Y$ r3 ?* m26.请看《程序设计实践》,并严格的按照其要求去做; 2L l" |:_0b" [9i,a
" x' ? c% y9 W4 D27.不要因为C和C++中有一些语法和关键字看上去相同,就认为它们的意义和作用完全一样;
4 U0 k! `8 o. ^6 a ?28.C++绝不是所谓的C的“扩充”——如果C++一开始就起名叫Z语言,你一定不会把C和Z语言联系得那么紧密;
- p6 h5 K4 C7 {3 l' D5 _* k29.请不要认为学过XX语言再改学C++会有什么问题——你只不过又在学一门全新的语言而已; 绿色软件|下载|免费|论坛|社区|软件绿化0o0O*F7r/k3x#T7i$ c* D! @( o& ~* L5 {
30.读完了《Inside The C++ Object Model》以后再来认定自己是不是已经学会了C++; 0 R! {' ? K3 t3 v
31.学习编程的秘诀是:编程,编程,再编程; 打造第一绿色软件门户!'g& [)b0j8w,{6 J/ }) o7 _: O; X3 _' @
32.请留意下列书籍:《C++面向对象高效编程(C++ Effective Object-Oriented Software Construction)》《面向对象软件构造(Object-Oriented Software Construction)》《设计模式(Design Patterns)》《The Art of Computer Programming》;
* h( i3 p \3 z/ g \33.记住:面向对象技术不只是C++专有的; 绿色软件|下载|免费|论坛|社区|软件绿化.o*N5_-`*w.O+E,\3?;z
9 C; r% C6 o3 N% V34.请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码; 中国绿软基地论坛(u$W;H-C0K.|:t+I( U; r; D/ ?; H* I4 J: ^3 T; P) @) G
35.把在书中看到的有意义的例子扩充; " M8 B( F( z( P+ l7 h1 g
36.请重视C++中的异常处理技术,并将其切实的运用到自己的程序中; 1]2B!a#Z9V8r-P6] H
' [: _5 P2 X7 {; O" z: f+ Y: Q37.经常回顾自己以前写过的程序,并尝试重写,把自己学到的新知识运用进去; , l* k p* p* G) G$ G
38.不要漏掉书中任何一个练习题——请全部做完并记录下解题思路;
& h, n5 I3 s1 f8 z- v39.C++语言和C++的集成开发环境要同时学习和掌握; 打造第一绿色软件门户!9t5I6I9o4g.e5O8N
2 }: K- k& S* N% M; g+ g) K7 V40.既然决定了学C++,就请坚持学下去,因为学习程序设计语言的目的是掌握程序设计技术,而程序设计技术是跨语言的;
% o! }- ?! V3 t41.就让C++语言的各种平台和开发环境去激烈的竞争吧,我们要以学习C++语言本身为主; 绿色软件|下载|免费|论坛|社区|软件绿化5w8[+M5I.z)S/v: X1 @& W, y6 P' k( g
42.当你写C++程序写到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余下的部分粗略的完成以保证这个设计的完整性,然后分析自己的错误并重新设计和编写(参见43); 打造第一绿色软件门户!!m J6]1{+P$V(p6?'k:a
. o2 E0 h$ b5 g3 F3 u" @ O9 o$ q43.别心急,设计C++的class确实不容易;自己程序中的class和自己的class设计水平是在不断的编程实践中完善和发展的; 7 a9 \) V0 ]# z6 {5 v
44.决不要因为程序“很小”就不遵循某些你不熟练的规则——好习惯是培养出来的,而不是一次记住的; 6 k. A' l8 }, Q$ G: C
45.每学到一个C++难点的时候,尝试着对别人讲解这个知识点并让他理解——你能讲清楚才说明你真的理解了; : y/ m. T- g% f+ \6 m8 T: x8 k
46.记录下在和别人交流时发现的自己忽视或不理解的知识点;
) h% N( _. ^0 ~. u: Q5 B47.请不断的对自己写的程序提出更高的要求,哪怕你的程序版本号会变成Version 100.XX; bbs.lvdown.com6Y0H6f0j$T;m5e
9 c& [6 B5 O6 G5 }% N48.保存好你写过的所有的程序——那是你最好的积累之一; 中国绿软基地论坛*m,[:C%B-G.f+Y6 V) {( n3 A j) V7 s0 q, w* S
49.请不要做浮躁的人; 打造第一绿色软件门户!$I2Z7n.@)g0a7|,E7i0 U" K: `6 d3 Y3 C9 j7 D
50.请热爱C++! |