对于学习C++的50条忠告
5 M& y2 V3 V* ~8 _3 J学习c++的50条忠告 转自【编程中国】* i! N7 J9 w- c& B
打造第一绿色软件门户!4`0N2?%I9[#m3y
% O8 l- e) `9 U: C" J8 l1.把C++当成一门新的语言学习(和C没啥关系!真的。); bbs.lvdown.com.T8q!U/_;K(A
9 p8 R' ^, y; p* C( |" m0 W2.看《Thinking In C++》,不要看《C++变成死相》; bbs.lvdown.com8o7J,W)y6f! |
E9 C7 e8 n, [7 J/ ^$ q7 a+ N3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看;
; B+ d+ k* j5 a" ^4.不要被 VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言; bbs.lvdown.com(o!p.Y5L-E;D+A$E
0 ]" _, q, G( `$ q0 N+ u1 S( b, {5.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点;
! q/ ]5 M# U, `6.会用Visual C++,并不说明你会C++; 1 O K5 X$ ^! O- F# q" t+ T# Q
7.学class并不难,template、STL、generic programming也不过如此——难的是长期坚持实践和不遗余力的博览群书; 绿色软件|下载|免费|论坛|社区|软件绿化( _,u-c0S;h3n#Z9?2l; }0 w. a' V; G. P' j5 U
8.如果不是天才的话,想学编程就不要想玩游戏——你以为你做到了,其实你的C++水平并没有和你通关的能力一起变高——其实可以时刻记住:学C++是为了编游戏的; 1 X- N/ G1 r" k7 X( m2 K( @
9.看Visual C++的书,是学不了C++语言的;
]: d; L! k' \7 \# H+ d. _10.浮躁的人容易说:XX语言不行了,应该学YY;——是你自己不行了吧!? 绿色软件|下载|免费|论坛|社区|软件绿化8k5q(I#?$l; ?"X1I%J1h
" f; E2 P2 B$ g11.浮躁的人容易问:我到底该学什么;——别问,学就对了; 绿色软件|下载|免费|论坛|社区|软件绿化,v(s"V'U2@6F;i1p-P(q
. o8 u% T: q. \7 ^12.浮躁的人容易问:XX有钱途吗;——建议你去抢银行;8u%N* @,W4M1^&V9X1p' d3 v3 k! h7 S6 m0 j% G( t
13.浮躁的人容易说:我要中文版!我英文不行!——不行?学呀! m, @( X% r3 `3 h1 d4 }' ^
14.浮躁的人容易问:XX和YY哪个好;——告诉你吧,都好——只要你学就行;
3 Q: r; X T+ s3 `, B& u15.浮躁的人分两种:a)只观望而不学的人;b)只学而不坚持的人;
& A) @9 W% ?; W) x7 {; Y. d16.把时髦的技术挂在嘴边,还不如把过时的技术记在心里; * u& |4 N9 k" }' W* d
17.C++不仅仅是支持面向对象的程序设计语言;
8 l+ G. b9 ~/ ~5 P3 A" J8 z4 l18.学习编程最好的方法之一就是阅读源代码; 1 z9 r, j/ X+ U
19.在任何时刻都不要认为自己手中的书已经足够了; , t. Q( f2 n7 t/ M4 X
20.请阅读《The Standard C++ Bible》(中文版:标准C++宝典),掌握C++标准; 绿色,软件,论坛,社区,免费,绿软,软件绿化!C9e8R+b%K(u"j E+ }* C$ A: V. q- p+ N/ j
21.看得懂的书,请仔细看;看不懂的书,请硬着头皮看; *o7o"j+u+^2M0l.K,C0 f* z! I. d8 `1 W
22.别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍; / |2 w( ]" Q! V* ]0 v
23.请看《Effective C++》和《More Effective C++》以及《Exceptional C++》; 绿色软件|下载|免费|论坛|社区|软件绿化6Y0?$l,V,k6g8S
! I7 w, A: P/ f# v1 U24.不要停留在集成开发环境的摇篮上,要学会控制集成开发环境,还要学会用命令行方式处理程序; ; I$ N( Q, D% X" p
25.和别人一起讨论有意义的C++知识点,而不是争吵XX行不行或者YY与ZZ哪个好;
7 M; B# `" h- O" e26.请看《程序设计实践》,并严格的按照其要求去做; 2L l" |:_0b" [9i,a
4 a x; M, E9 ?27.不要因为C和C++中有一些语法和关键字看上去相同,就认为它们的意义和作用完全一样; 3 X$ X2 V$ }5 Q3 }4 \( k7 S% D2 m
28.C++绝不是所谓的C的“扩充”——如果C++一开始就起名叫Z语言,你一定不会把C和Z语言联系得那么紧密;
( I5 q# x; ~3 \5 s& _$ N4 n29.请不要认为学过XX语言再改学C++会有什么问题——你只不过又在学一门全新的语言而已; 绿色软件|下载|免费|论坛|社区|软件绿化0o0O*F7r/k3x#T7i9 s- }9 [8 j$ h# ?3 j7 E/ {' J
30.读完了《Inside The C++ Object Model》以后再来认定自己是不是已经学会了C++;
1 m4 g- _, m' D31.学习编程的秘诀是:编程,编程,再编程; 打造第一绿色软件门户!'g& [)b0j8w,{
0 x( }+ Z8 l( ]0 l8 H ]* Q32.请留意下列书籍:《C++面向对象高效编程(C++ Effective Object-Oriented Software Construction)》《面向对象软件构造(Object-Oriented Software Construction)》《设计模式(Design Patterns)》《The Art of Computer Programming》;
' d" w+ |3 I; R7 k: V% T# m33.记住:面向对象技术不只是C++专有的; 绿色软件|下载|免费|论坛|社区|软件绿化.o*N5_-`*w.O+E,\3?;z; M# ^' H8 C2 S0 H3 c' p5 p/ h
34.请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码; 中国绿软基地论坛(u$W;H-C0K.|:t+I
( i- U- ?2 U0 h$ s; E6 A0 g35.把在书中看到的有意义的例子扩充;
' Z& P% U1 _9 ?36.请重视C++中的异常处理技术,并将其切实的运用到自己的程序中; 1]2B!a#Z9V8r-P6] H
7 I# o5 G- L* }5 G" R! k37.经常回顾自己以前写过的程序,并尝试重写,把自己学到的新知识运用进去;
& c8 G& f2 m+ e- Y/ D38.不要漏掉书中任何一个练习题——请全部做完并记录下解题思路; 9 R; ]+ m/ u5 S" ^$ S
39.C++语言和C++的集成开发环境要同时学习和掌握; 打造第一绿色软件门户!9t5I6I9o4g.e5O8N
! I! v7 E) _$ ^" M40.既然决定了学C++,就请坚持学下去,因为学习程序设计语言的目的是掌握程序设计技术,而程序设计技术是跨语言的; & x$ H9 H1 o9 U8 I; t$ U W% v& F% |
41.就让C++语言的各种平台和开发环境去激烈的竞争吧,我们要以学习C++语言本身为主; 绿色软件|下载|免费|论坛|社区|软件绿化5w8[+M5I.z)S/v
2 C- y) t+ H* }8 s3 G2 U& n; v42.当你写C++程序写到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余下的部分粗略的完成以保证这个设计的完整性,然后分析自己的错误并重新设计和编写(参见43); 打造第一绿色软件门户!!m J6]1{+P$V(p6?'k:a
- u8 N- M* ]8 g! y; g8 _3 d! ^0 \43.别心急,设计C++的class确实不容易;自己程序中的class和自己的class设计水平是在不断的编程实践中完善和发展的; 9 o" E, P" V+ g6 A2 a
44.决不要因为程序“很小”就不遵循某些你不熟练的规则——好习惯是培养出来的,而不是一次记住的;
" e6 J) m9 t7 S9 E, H45.每学到一个C++难点的时候,尝试着对别人讲解这个知识点并让他理解——你能讲清楚才说明你真的理解了; ; u" Z0 y- s" E$ i$ }+ b" E
46.记录下在和别人交流时发现的自己忽视或不理解的知识点;
- x" |" w7 N1 V) j5 }3 S5 N47.请不断的对自己写的程序提出更高的要求,哪怕你的程序版本号会变成Version 100.XX; bbs.lvdown.com6Y0H6f0j$T;m5e9 [2 P9 N: `% Z, C7 l9 q, c
48.保存好你写过的所有的程序——那是你最好的积累之一; 中国绿软基地论坛*m,[:C%B-G.f+Y
: o0 j/ G" K6 ^) o! G" _* {49.请不要做浮躁的人; 打造第一绿色软件门户!$I2Z7n.@)g0a7|,E7i
8 {3 e- J0 ~" R+ v5 { z50.请热爱C++! |