50條大牛C++編程開(kāi)發(fā)學(xué)習(xí)建議
下面列出這50條建議:
1、把C++當(dāng)成一門(mén)新的語(yǔ)言學(xué)習(xí)(和C沒(méi)啥關(guān)系!)。
2、看《Thinking In C++》,不要看《C++編程思想》。
3、看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因?yàn)樗麄兒茈y而我們自己是初學(xué)者所以就不看。
4、不要被VC、BCB、BC、MC、TC等詞匯所迷惑–他們都是集成開(kāi)發(fā)環(huán)境,而我們要學(xué)的是一門(mén)語(yǔ)言。
5、不要放過(guò)任何一個(gè)看上去很簡(jiǎn)單的小編程問(wèn)題——他們往往并不那么簡(jiǎn)單,或者可以引伸出很多知識(shí)點(diǎn)。
6、會(huì)用Visual C++ ,并不說(shuō)明你會(huì)C++。
7、學(xué)class并不難,template、STL、generic programming也不過(guò)如此,難的是長(zhǎng)期堅(jiān)持實(shí)踐和不遺余力的博覽群書(shū)。
8、如果不是天才的話,想學(xué)編程就不要想玩游戲–你以為你做到了,其實(shí)你的C++水平并沒(méi)有和你通關(guān)的能力一起變高–其實(shí)可以時(shí)刻記?。簩W(xué)C++是為了編游戲的。
9、看Visual C++的書(shū),是學(xué)不了C++語(yǔ)言的。
10、浮躁的人容易說(shuō):XX語(yǔ)言不行了,應(yīng)該學(xué)YY;——是你自己不行了吧!?
11、浮躁的人容易問(wèn):我到底該學(xué)什么;——別問(wèn),學(xué)就對(duì)了;
13、浮躁的人容易說(shuō):我要中文版!我英文不行!——不行?學(xué)呀!
14、浮躁的人容易問(wèn):XX和YY哪個(gè)好;——告訴你吧,都好——只要你學(xué)就行。
15、浮躁的人分兩種:a)只觀望而不學(xué)的人;b)只學(xué)而不堅(jiān)持的人。
16、把時(shí)髦的技術(shù)掛在嘴邊,還不如把過(guò)時(shí)的技術(shù)記在心里。
17、C++不僅僅是支持面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。
18、學(xué)習(xí)編程***的方法之一就是閱讀源代碼。
19、在任何時(shí)刻都不要認(rèn)為自己手中的書(shū)已經(jīng)足夠了。
20、請(qǐng)閱讀《The Standard C++ Bible》(中文版:標(biāo)準(zhǔn)C++寶典),掌握C++標(biāo)準(zhǔn)。
21、看得懂的書(shū),請(qǐng)仔細(xì)看;看不懂的書(shū),請(qǐng)硬著頭皮看。
22、別指望看***遍書(shū)就能記住和掌握什么–請(qǐng)看第二遍、第三遍。
23、請(qǐng)看《Effective C++》和《More Effective C++》以及《Exceptional C++》。
24、不要停留在集成開(kāi)發(fā)環(huán)境的搖籃上,要學(xué)會(huì)控制集成開(kāi)發(fā)環(huán)境,還要學(xué)會(huì)用命令行方式處理程序。
25、和別人一起討論有意義的C++知識(shí)點(diǎn),而不是爭(zhēng)吵XX行不行或者YY與ZZ哪個(gè)好。
26、請(qǐng)看《程序設(shè)計(jì)實(shí)踐》,并嚴(yán)格的按照其要求去做。
27、不要因?yàn)镃和C++中有一些語(yǔ)法和關(guān)鍵字看上去相同,就認(rèn)為它們的意義和作用完全一樣。
28、C++絕不是所謂的C的“擴(kuò)充”–如果C++一開(kāi)始就起名叫Z語(yǔ)言,你一定不會(huì)把C和Z語(yǔ)言聯(lián)系得那么緊密。
29、請(qǐng)不要認(rèn)為學(xué)過(guò)XX語(yǔ)言再改學(xué)C++會(huì)有什么問(wèn)題–你只不過(guò)又在學(xué)一門(mén)全新的語(yǔ)言而已。
30、讀完了《Inside The C++ Object Model》以后再來(lái)認(rèn)定自己是不是已經(jīng)學(xué)會(huì)了C++。
31、學(xué)習(xí)編程的秘訣是:編程,編程,再編程。
32、請(qǐng)留意下列書(shū)籍:《C++面向?qū)ο蟾咝Ь幊?C++ Effective Object-Oriented Software Construction)》、《面向?qū)ο筌浖?gòu)造(Object-Oriented Software Construction)》、《設(shè)計(jì)模式(Design Patterns)》、《The Art of Computer Programming》。
33、記?。好嫦?qū)ο蠹夹g(shù)不只是C++專(zhuān)有的。
34、請(qǐng)把書(shū)上的程序例子親手輸入到電腦上實(shí)踐,即使配套光盤(pán)中有源代碼。
35、把在書(shū)中看到的有意義的例子擴(kuò)充。
36、請(qǐng)重視C++中的異常處理技術(shù),并將其切實(shí)的運(yùn)用到自己的程序中。
37、經(jīng)?;仡欁约阂郧皩?xiě)過(guò)的程序,并嘗試重寫(xiě),把自己學(xué)到的新知識(shí)運(yùn)用進(jìn)去。
38、不要漏掉書(shū)中任何一個(gè)練習(xí)題–請(qǐng)全部做完并記錄下解題思路。
39、C++語(yǔ)言和C++的集成開(kāi)發(fā)環(huán)境要同時(shí)學(xué)習(xí)和掌握。
40、既然決定了學(xué)C++,就請(qǐng)堅(jiān)持學(xué)下去,因?yàn)閷W(xué)習(xí)程序設(shè)計(jì)語(yǔ)言的目的是掌握程序設(shè)計(jì)技術(shù),而程序設(shè)計(jì)技術(shù)是跨語(yǔ)言的。
41、就讓C++語(yǔ)言的各種平臺(tái)和開(kāi)發(fā)環(huán)境去激烈的競(jìng)爭(zhēng)吧,我們要以學(xué)習(xí)C++語(yǔ)言本身為主。
42、當(dāng)你寫(xiě)C++程序?qū)懙揭话雲(yún)s發(fā)現(xiàn)自己用的方法很拙劣時(shí),請(qǐng)不要馬上停手,請(qǐng)盡快將余下的部分粗略的完成以保證這個(gè)設(shè)計(jì)的完整性,然后分析自己的錯(cuò)誤并重新設(shè)計(jì)和編寫(xiě)(參見(jiàn)43)。
43、別心急,設(shè)計(jì)C++的class確實(shí)不容易;自己程序中的class和自己的class設(shè)計(jì)水平是在不斷的編程實(shí)踐中完善和發(fā)展的。
44、絕不要因?yàn)槌绦?ldquo;很小”就不遵循某些你不熟練的規(guī)則–好習(xí)慣是培養(yǎng)出來(lái)的,而不是一次記住的。
45、每學(xué)到一個(gè)C++難點(diǎn)的時(shí)候,嘗試著對(duì)別人講解這個(gè)知識(shí)點(diǎn)并讓他理解–你能講清楚才說(shuō)明你真的理解了。
46、記錄下在和別人交流時(shí)發(fā)現(xiàn)的自己忽視或不理解的知識(shí)點(diǎn)。
47、請(qǐng)不斷的對(duì)自己寫(xiě)的程序提出更高的要求,哪怕你的程序版本號(hào)會(huì)變成Version 100.XX。
48、保存好你寫(xiě)過(guò)的所有的程序–那是你***的積累之一。
49、請(qǐng)不要做浮躁的人。
50、熱愛(ài)C++!
再跟大家強(qiáng)調(diào)幾點(diǎn),就像上面說(shuō)的,VC++我們需要學(xué)會(huì),但請(qǐng)記住它并不代表C++語(yǔ)言,而只是C++的開(kāi)發(fā)平臺(tái),我們應(yīng)該更加重視根本–C++語(yǔ)言;學(xué)習(xí)編程***的方法是看完入門(mén)教程,然后學(xué)習(xí)分析源碼,***自己編程實(shí)踐,在學(xué)習(xí)幾門(mén)語(yǔ)言后就駕輕就熟了;學(xué)好C++也不是最終目的,***你會(huì)理解到,程序設(shè)計(jì)技術(shù)才是我們一直努力的方向,它是跨語(yǔ)言的。
***,也想說(shuō)這句話,學(xué)習(xí)C++就請(qǐng)熱愛(ài)C++!