• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Cpp Fans

              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              14 隨筆 :: 0 文章 :: 2 評(píng)論 :: 0 Trackbacks

            我從去年11月份開始自學(xué)C++(本人現(xiàn)在做C#開發(fā)),現(xiàn)在把我這10來個(gè)月學(xué)習(xí)體會(huì)寫出來和大家分享。

            1。關(guān)于要不要學(xué)習(xí)C++?(結(jié)論:要學(xué),一定要學(xué)!)
            如今在網(wǎng)上很多為要不要學(xué)C++爭(zhēng)的不可開交,因?yàn)楝F(xiàn)在JAVA,C#,。NET都炒的很火,特別是JAVA,大有炸平廬山,停止地球轉(zhuǎn)動(dòng)之勢(shì)。用林銳同志的話說,其實(shí)JAVA只是C++外甥,跑到舅舅身上撒了一泡尿而已。首先,我們從JAVA 的來歷上來說,JAVA的設(shè)計(jì)初衷是用來給家用電器設(shè)計(jì)程序使用的,最初設(shè)計(jì)者想用C++,但覺得C++太復(fù)雜,就在C++的基礎(chǔ)上做了一些簡(jiǎn)化,設(shè)計(jì)出了JAVA,它的設(shè)計(jì)思想是跨平臺(tái),所以必須先在運(yùn)行平臺(tái)上安裝虛擬機(jī),然后把源程序編譯成中間語言在運(yùn)行。這是一個(gè)優(yōu)點(diǎn),但我們說任意優(yōu)點(diǎn)都是建立在缺點(diǎn)上的,JAVA的缺點(diǎn)就是運(yùn)行速度慢,這對(duì)于某些系統(tǒng)來說是致命弱點(diǎn)。況且,JAVA中沒有指針,對(duì)于制作系統(tǒng)軟件來說,這更是無法饒恕的。再來看C++。C++產(chǎn)生于美國(guó)貝爾實(shí)驗(yàn)室,就是發(fā)明電話那個(gè)公司。設(shè)計(jì)初衷是用來改進(jìn)C的開發(fā)效率,C是面向過程的語言,開發(fā)效率底,貝爾實(shí)驗(yàn)室有大量的C程序員,所以只要在開發(fā)效率上提高一點(diǎn)點(diǎn),就可以節(jié)約數(shù)目龐大的成本。C是什么東西?是用來代替匯編編寫操作系統(tǒng)的語言,用C++代替C,可以得出兩個(gè)結(jié)論:第一,C++必須具有同C相當(dāng)?shù)膱?zhí)行速度;第二,C++必須比C具有較高的開發(fā)效率。執(zhí)行速度方面,C++的設(shè)計(jì)者的思想就是在改進(jìn)開發(fā)效率的同時(shí)盡量不增加C++的系統(tǒng)開銷,當(dāng)然有些地方非增加開銷不可,也把開銷控制在最小程度內(nèi)。具非權(quán)威研究報(bào)告,C++比C的執(zhí)行開銷多出不到10%。開發(fā)效率方面,C++引進(jìn)了面向?qū)ο髾C(jī)制,庫機(jī)制,最大程度上實(shí)現(xiàn)了代碼重用,這是軟件開發(fā)人員的福音。C++在改進(jìn)C的開發(fā)效率的同時(shí),對(duì)C的缺陷做了一些修補(bǔ)。C的優(yōu)點(diǎn)在C++中都得到了很好的保留,C的缺點(diǎn)在C++中都有了改進(jìn),有了更好的解決辦法。而且,為了現(xiàn)有的大量C程序維護(hù),C++還全面兼容了C。縱觀當(dāng)今程序語言家族,我覺得只有C可以C++相提并論,門當(dāng)戶對(duì),其它語言都無法和C++相提并論。無論從什么角度來說,C++都算的上語言中的老大。
            如今,網(wǎng)上有很多關(guān)于C++的爭(zhēng)論,其實(shí)爭(zhēng)論的人都是一些不知情的人,絕大多數(shù)是學(xué)校里的學(xué)生,我也曾經(jīng)這樣。在學(xué)校里的時(shí)候,不知道究竟應(yīng)該學(xué)習(xí)什么,要是遇到好的老師還可以,遇到垃圾老師,垃圾學(xué)校那就更糟糕。如今,什么MCSE,CCNA,CIW等等認(rèn)證漫天飛,把人搞的昏頭昏腦,其實(shí)這都是認(rèn)證公司炒的。社會(huì)上需要的是有真才實(shí)學(xué)的人,而不是需要證書。
            我從大二開始學(xué)習(xí)編程,一開始學(xué)習(xí)VB,后來學(xué)習(xí)DELPHI,再后來學(xué)習(xí)C#,再后來學(xué)習(xí)C++,繞了個(gè)大圈子,最后還是繞回來了。而且重新學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu),操作系統(tǒng),學(xué)習(xí)軟件工程,學(xué)習(xí)大學(xué)本科的基本課程,重新讀外國(guó)的程序設(shè)計(jì)名著,而這些以前在大學(xué)是不屑一顧的。勸如今還在學(xué)校的師弟師妹們,努力學(xué)習(xí)C++。

            2。為什么要學(xué)習(xí)學(xué)習(xí)C++
            1)C++的程序員身價(jià)普遍較高,當(dāng)然,前提是你必須是高手。我所在的城市,那些公司根本就招不到合格的C++程序員,一方面C++程序員要求高,學(xué)習(xí)C++的人越來越少了。當(dāng)然,懷著這個(gè)目的,你或許永遠(yuǎn)無法成為C++高手,但我把這個(gè)原因放在最前面,可以給大家一個(gè)很明確的激勵(lì),當(dāng)你接觸C++后,發(fā)現(xiàn)從學(xué)習(xí)中獲得樂趣比高的工資更有動(dòng)力;
            2)C++的優(yōu)勢(shì)是用來開發(fā)大型軟件,從中可以學(xué)到很多優(yōu)秀的軟件設(shè)計(jì)思想。C++不是軟件開發(fā)的首選工具,一般說來,大多人更愿意學(xué)習(xí)和使用VB,為什么,簡(jiǎn)單。簡(jiǎn)單的另一個(gè)方面是功能的局限。微軟公司恨不的所有人都學(xué)VB,只有他一家會(huì)C++。容易上手,大家都喜歡學(xué),喜歡用,很多人拿一本200頁的書,看個(gè)兩三個(gè)星期,就覺得自己是個(gè)程序員了,可以開發(fā)軟件了,而且覺得做出來的東西很不錯(cuò)。當(dāng)軟件規(guī)模大到一定程度的時(shí)候,其他語言就越來越無法駕馭,這時(shí)C++的優(yōu)勢(shì)就體現(xiàn)出來了。你說做個(gè)成績(jī)管理系統(tǒng),人事查詢系統(tǒng),用VB,DELPHI,C#,JAVA都行,但是例如銀行,電信,保險(xiǎn),操作系統(tǒng),數(shù)據(jù)倉庫,圖形處理,編譯系統(tǒng),較底層的軟件時(shí),其他工具幾乎是無法完成的。就說C++的指針,JAVA沒有,在遇到數(shù)據(jù)量交大的數(shù)據(jù)排序,搜索,動(dòng)態(tài)內(nèi)存分配時(shí),它就沒有辦法了。所以說,學(xué)習(xí)C++,不僅僅是學(xué)到的一種語言,還學(xué)習(xí)了優(yōu)秀的軟件設(shè)計(jì)思想。
            3)學(xué)習(xí)C++可以學(xué)習(xí)到計(jì)算機(jī)底層的理論,即使不是用C++開發(fā),對(duì)計(jì)算機(jī)運(yùn)行機(jī)制的理解,對(duì)建制穩(wěn)定的系統(tǒng),對(duì)運(yùn)用其他語言,也是一種促進(jìn)。這一點(diǎn),我是在學(xué)習(xí)過程中體會(huì)到的,所以,要說出個(gè)大家可以接受的理由來較難,大家以后學(xué)習(xí)就知道了。

            3。怎樣學(xué)習(xí)C++?
            首先,我們必須承認(rèn),學(xué)習(xí)要講究方法,有捷徑。其次,我們還得承認(rèn),學(xué)習(xí)要下苦功,要?jiǎng)?wù)實(shí)。上小學(xué)的時(shí)候,書上有個(gè)故事,是關(guān)于王羲之學(xué)習(xí)書法的:王獻(xiàn)之問他父親王羲之,學(xué)習(xí)書法的秘訣是什么,他父親把他帶到后院,指著18口大水缸說,你如果把這里的水都寫完了,就知道書法的秘訣在那里了。這個(gè)故事相信很多人都還記得。前幾天看梁肇新(豪杰公司老板)的《高手箴言》,他說如果你如果愿意利用5年時(shí)間來成為高手,那么你只要兩三年就會(huì)成為高手,如果你想一年成為高手,那么你5年也成不了高手。學(xué)習(xí)要切忌浮躁,要腳踏實(shí)地。我曾經(jīng)很浮躁,結(jié)果一直呆在菜鳥堆里,當(dāng)半年前我靜下心來學(xué)習(xí)C++,才感覺有真正的進(jìn)步。現(xiàn)在做WEB開發(fā),雖然我從來不看WEB開發(fā)的書,但是我的同事遇到問題時(shí),我經(jīng)常能一下說出問題的所在。因?yàn)槟憧磫栴}的角度變了。所以,學(xué)習(xí)C++的第一個(gè)方法是:切忌浮躁。其實(shí)學(xué)任何東西都一樣,欲速則不達(dá)。從基本數(shù)據(jù)類型看起,從基本流程控制語句寫起。
            其次,教材很重要,要看經(jīng)典名著。

            其次,教材很重要,要看經(jīng)典名著,而且如果英語好,最好看原版英文教材。
            經(jīng)典之所以成為經(jīng)典,是因?yàn)榻?jīng)歷了考驗(yàn)沉淀下來的東西。去年9月份,當(dāng)我打算轉(zhuǎn)向C++的時(shí)候,曾向我一位同事咨詢,他向我推薦了《C++編程思想》,還說叫我一定要讀。當(dāng)我讀完前面三到四章的時(shí)候,就發(fā)覺自己找到了感覺。接下來,我一口氣讀完了整本書,當(dāng)然其中很多東西還是無法真正理解,這是一本很深邃的書。廢話少說,我現(xiàn)在把我自己看過的C++參考書籍列出來:

            1)《C++入門經(jīng)典》,原名《The C++ Language Begeining》,作者Ivor Horton 此書淺顯易懂極適合入門,書中包括最基本的程序設(shè)計(jì)知識(shí),例如基本數(shù)據(jù)類型,流程控制語句,函數(shù)設(shè)計(jì)。即使沒有任何程序設(shè)計(jì)基礎(chǔ)的人,看著也不覺得累。書中一些很有特色的事例,能促進(jìn)和加深讀者的理解。但此書的代碼風(fēng)格實(shí)在有些糟糕。

            2)《C++編程思想》,原名《Thinking in C++》,作者Bruce Eckell, 此書的名氣就不在這里說了.此書最新版本(第三版)開頭部分增加了幾章講C語言的部分,然后把讀者逐漸引向C++,在討論語言的一個(gè)特性時(shí),往往總是先講解在C中的解決方法,然后討論這中方法的局限和不足之處,再討論C++中的解決方法.據(jù)我的感受,此書作者的初衷是引導(dǎo)C程序員走向C++,但后來發(fā)現(xiàn)大多數(shù)新生代程序員,非美國(guó)的程序員不一定懂C,于是就在第三版中加入了介紹C的部分. 此書最大的特點(diǎn)是, 作者善于透過語言現(xiàn)象,看看屏風(fēng)后面究竟發(fā)生了什么(例如,顯示出生成的匯編語言).消化好這本書,C++水平上一個(gè)大臺(tái)階;

            3)《C++高效編程》,原名《Effect C++》。此書重點(diǎn)探討C++的一些技術(shù)死角,我只看過其中很少的一些章節(jié),在此不作過多評(píng)論;

            4)《C++ Primer》,作者Stanley B.Lippman,此書還沒有讀過,接下來讀這本書。我在網(wǎng)上找了一點(diǎn)對(duì)此書特點(diǎn)的描述:對(duì)C++基本概念和技術(shù)全面而且權(quán)威的闡述,對(duì)現(xiàn)代C++編程風(fēng)格的強(qiáng)調(diào),使本書成為C++初學(xué)者的最佳指南;對(duì)于中高級(jí)程序員,本書也是不可或缺的參考書。第4版不再強(qiáng)調(diào)低層編程技術(shù),而把中心轉(zhuǎn)向標(biāo)準(zhǔn)庫的使用。書中很早就開始介紹標(biāo)準(zhǔn)庫,示例也已經(jīng)重新改寫,充分利用了標(biāo)準(zhǔn)庫設(shè)施。我們也對(duì)語言主題敘述的先后次序進(jìn)行了重新編排,使講解更加流暢;

            5)《C++編程語言》,原名《C++ Program Language》,作者乃C++的發(fā)明者被譽(yù)為C++之父的Bjarne Stroustrup,此書我只讀了一部分,說實(shí)話,有些難。此書的作者就是C++的創(chuàng)始人,發(fā)明者,知識(shí)非常淵博,其思想深度遠(yuǎn)遠(yuǎn)在前面幾位之上。如果你想知道C++究竟能做什么,C++那些希奇古怪的特性為什么那樣設(shè)計(jì),那你就去參考這本書。另外,閱讀此書時(shí),你還會(huì)為作者那種深邃的思想,博大的胸懷感覺到一種發(fā)自內(nèi)的快樂,舒暢。書中還講到了很多大型系統(tǒng)設(shè)計(jì)的方法和技巧。總之,不讀此書,是作為程序員的一大遺憾。我建議先閱讀《C++編程思想》,再參考此書。因?yàn)椤禖++編程思想》的作者說,他寫這本書的目的就是為了大家能夠參考《C++編程語言》這本書;

            6)《C++高質(zhì)量編程》,作者林銳。此書不屬于經(jīng)典名著,但我也比較推薦這本書。作者不象國(guó)內(nèi)其他作者那樣迂腐功利,而是從一個(gè)程序員的角度,介紹他在以往開發(fā)過程中遇到的問題和積累的經(jīng)驗(yàn),這本書很薄,但其中的思想方法很有用。且語句詼諧幽默,閱讀起來很輕松;

            任何一本書,都有他的可取之處;任何一本書,都無法解決在學(xué)習(xí)中遇到的所有問題;任何一本書,都無法替代人的智慧和經(jīng)驗(yàn)。但是好的教材,可以起到好的指導(dǎo)效果,可以使學(xué)習(xí)少走彎路。但我不怎么建議看比較薄(600頁以下)的書,因?yàn)閷?duì)于C++來說,這樣的篇幅根本就說不清楚,也不建議看國(guó)內(nèi)作者的教材,你發(fā)現(xiàn)大多是從上面所說的書中抄下來的。

            4。C++和VC的區(qū)別
            目前我們所說的C++,通常意義上指標(biāo)準(zhǔn)C++,就是美國(guó)C++標(biāo)準(zhǔn)委員會(huì)發(fā)布的C++。它定義了一些基本的語言規(guī)范語言特性,定義了一個(gè)框架,還有一個(gè)標(biāo)準(zhǔn)庫。雖然產(chǎn)生于UNIX下,但它不屬于某一個(gè)平臺(tái),某一個(gè)廠商,某一個(gè)編譯器。它是一種統(tǒng)稱,一種概念。VC是微軟公司在WINDOWS平臺(tái)下的一種開發(fā)工具,本質(zhì)上和VB,C#沒有什么區(qū)別,只是較之底層一些。VC支持標(biāo)準(zhǔn)C++,但不百分之百支持。一般來說,學(xué)習(xí)C++可以使用VC的編譯環(huán)境,但是必須要使用標(biāo)準(zhǔn)庫。還有其他一些C++編譯器例如C++ BUIDER,就是Borland公司生產(chǎn)的WINDOWS下的C++編譯器,GCC是LINUX下的常用的C++編譯器。估計(jì)在蘋果機(jī)下也有相應(yīng)的C++編譯器,因?yàn)镃++處理圖形系統(tǒng)是其特長(zhǎng)。

            要學(xué)習(xí)C++,就不要從VC學(xué)起,學(xué)習(xí)VC無法學(xué)到真正的C++編程思想,而你只是學(xué)會(huì)了使用類庫而已。C++的特性是什么?C++本質(zhì)是什么?C++的精華是什么?我覺得總結(jié)成一句話:利用面向?qū)ο蟮乃枷耄鉀Q大型系統(tǒng)的開發(fā)問題。

            5。學(xué)習(xí)C++的重點(diǎn)
            如果你學(xué)習(xí)過C或者了解C,那么在學(xué)習(xí)C++的時(shí)候更容易受C的影響,記住,C是面向過程的語,C++是面向?qū)ο蟮恼Z言。如果你學(xué)習(xí)過C,那么學(xué)習(xí)C++的重點(diǎn)是掌握C++的新特性,C與C++的區(qū)別,C++的面向?qū)ο筇匦裕瑖L試用C++的風(fēng)格去編寫程序,用C++的技術(shù)去解決問題。或許你認(rèn)為C很不錯(cuò),但在C++可能有更好的解決辦法;

            如果你學(xué)習(xí)過JAVA,C#或DELPHI,那么你應(yīng)該對(duì)面向?qū)ο髾C(jī)制很熟悉。但是,C++中的面向?qū)ο髾C(jī)制和上述幾種語言有所區(qū)別,例如多重繼承。最好嘗試在沒有用戶界面的環(huán)境下編寫程序,還有,指針是C++的精華之一,所以必須掌握;

            如果你沒有編程基礎(chǔ),那就直接從C++學(xué)起,這樣就沒有其他語言的干擾和影響。祝賀你,一開始就接觸了這樣一種偉大的語言;

            我覺得,C++的重點(diǎn)可以用三個(gè)詞來描述:指針,面向?qū)ο螅瑯?biāo)準(zhǔn)庫。

            最后,在這里同所有學(xué)習(xí)C++的程序員共勉,不要擔(dān)心學(xué)習(xí)C++會(huì)被淘汰,我所在的單位還有大量的Informix程序員,而且日子過的很舒服。我小時(shí)候?qū)W書法,老師常對(duì)我說一句話就是:字寫的好,哪怕拿一根筷子在嘴巴里咬幾下,都寫的好看,而不在于用什么筆。用C++之父Bjarne Stroustrup的話來說:只要你在使用電腦,你就直接或間接使用了C++。

            讓我們共同學(xué)習(xí),共同進(jìn)步,相互交流,相互促進(jìn)。

            posted on 2007-01-28 00:52 Cpp Fans 閱讀(429) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C/C++
            国内精品免费久久影院| 国产人久久人人人人爽| 中文字幕无码av激情不卡久久| 久久亚洲中文字幕精品一区四| 综合久久精品色| 91精品国产综合久久久久久| 久久精品国产亚洲欧美| 一本大道久久香蕉成人网| 国产精品美女久久久久网| 久久99热这里只有精品国产| 久久久久久精品久久久久| 久久精品国产亚洲麻豆| 综合久久国产九一剧情麻豆| 中文字幕一区二区三区久久网站| 中文字幕亚洲综合久久菠萝蜜 | 久久精品中文字幕第23页| 久久精品国产2020| 久久综合九色综合久99| 99re这里只有精品热久久 | 欧美噜噜久久久XXX| 久久婷婷人人澡人人| 97久久超碰成人精品网站| 成人久久免费网站| 亚洲七七久久精品中文国产| 99久久国产综合精品网成人影院| 久久久久久国产精品无码下载| 久久久久无码国产精品不卡| 国产高清美女一级a毛片久久w| 日产精品久久久一区二区| 久久天天躁夜夜躁狠狠| 久久伊人中文无码| 久久久久一本毛久久久| 国产精自产拍久久久久久蜜| 亚洲国产精品久久久久婷婷软件| 久久精品人成免费| 国产91色综合久久免费| 99久久免费国产特黄| 91久久九九无码成人网站| 日本久久久久久中文字幕| 亚洲国产成人久久综合一 | 久久九色综合九色99伊人|