C++語(yǔ)言學(xué)習(xí)時(shí)注意事項(xiàng)
C++語(yǔ)言學(xué)習(xí)時(shí)需要注意相關(guān)問(wèn)題,在C++的世界中有這樣兩個(gè)概念,向上類(lèi)型轉(zhuǎn)換,向下類(lèi)型轉(zhuǎn)換,分別描述的是子類(lèi)向基類(lèi)和基類(lèi)向子類(lèi)的強(qiáng)制類(lèi)型轉(zhuǎn)換。
畢竟我從中得到了樂(lè)趣,這就足夠了。在學(xué)一個(gè)新東西前,解決動(dòng)機(jī)問(wèn)題很重要。就如同殺人一樣,如果只是突然興起,那么等嘗試了以后,是沒(méi)有成就感的。革命先烈們?yōu)槲覀冏鞒隽撕芎玫陌駱樱退阄覀冊(cè)趯W(xué)習(xí)C++語(yǔ)言學(xué)習(xí)的道路上遇到了太多困惑和痛苦,但是我們畢竟為自己的信念做了努力,我們知道自己在做什么,知道自己在追求什么。
C++語(yǔ)言學(xué)習(xí)語(yǔ)言學(xué)習(xí)是一門(mén)廣泛用于工業(yè)軟件研發(fā)的大型語(yǔ)言。具有很高的復(fù)雜性和解決問(wèn)題的能力。C++語(yǔ)言學(xué)習(xí)不僅在開(kāi)發(fā)上極具價(jià)值,同時(shí)在學(xué)術(shù)界也就有很高的價(jià)值。有關(guān)C++語(yǔ)言學(xué)習(xí)的文章應(yīng)該可以用浩如煙海來(lái)形容了吧。
C++語(yǔ)言學(xué)習(xí)的世界級(jí)經(jīng)典書(shū)籍也是數(shù)不勝數(shù)。然而,目前開(kāi)發(fā)語(yǔ)言是如此地繁榮,就連微軟也在推出了新的開(kāi)發(fā)語(yǔ)言C#。一個(gè)不可否認(rèn)的現(xiàn)實(shí)是,在低階程序設(shè)計(jì)領(lǐng)域,C++語(yǔ)言學(xué)習(xí)擠壓著C同時(shí)也在承受著C的強(qiáng)烈反彈,前段時(shí)間看了據(jù)說(shuō)是微軟操作系統(tǒng)源代碼的東東,其中很多還是C語(yǔ)言。而在高階程序設(shè)計(jì)領(lǐng)域,Java和C#正在不斷蠶食著C++語(yǔ)言學(xué)習(xí)的地盤(pán)。
也許Java和C#的狂潮終將迫使C++語(yǔ)言學(xué)習(xí)回歸本位— 回到它有著根本性?xún)?yōu)勢(shì)的開(kāi)發(fā)領(lǐng)域:低級(jí)系統(tǒng)程序設(shè)計(jì)、高級(jí)大規(guī)模高性能應(yīng)用設(shè)計(jì)、嵌入式程序設(shè)計(jì)、通用程序設(shè)計(jì)以及數(shù)值科學(xué)計(jì)算等。果真如此,我認(rèn)為這未嘗不是一件好事。電力系統(tǒng)軟件所要求的高性能和大規(guī)模數(shù)值計(jì)算正是C++語(yǔ)言學(xué)習(xí)所擅長(zhǎng)的。就我所接觸的南瑞和魯能,很多涉及到電力系統(tǒng)計(jì)算的軟件如PAS等,都是用C++語(yǔ)言學(xué)習(xí)來(lái)開(kāi)發(fā)的。
在電力系統(tǒng)軟件開(kāi)發(fā)這塊陣地,C++語(yǔ)言學(xué)習(xí)大有用武之地。C++語(yǔ)言學(xué)習(xí)吸引如此之多的智力投入,以至于這個(gè)領(lǐng)域的優(yōu)秀作品,包括重量級(jí)的軟件產(chǎn)品、程序庫(kù)以及書(shū)籍等,數(shù)不勝數(shù)。在C++語(yǔ)言學(xué)習(xí)之父Bjarne Stroustrup的個(gè)人主頁(yè)上,有一頁(yè)列出了一些(全部或大部分)使用C++語(yǔ)言學(xué)習(xí)編寫(xiě)的系統(tǒng)、應(yīng)用程序和庫(kù)。
下面是一些例子(摘自榮耀網(wǎng)站):o Adobe Systems:所有主要應(yīng)用程序都使用C++語(yǔ)言學(xué)習(xí)開(kāi)發(fā)而成,比如Photoshop & ImageReady、Illustrator和Acrobat等。
◆Maya:知道“蜘蛛人”、“指環(huán)王”的電腦特技是使用什么軟件做出來(lái)的嗎?沒(méi)錯(cuò),就是Maya. o Amazon.com:使用C++語(yǔ)言學(xué)習(xí)開(kāi)發(fā)大型電子商務(wù)軟件。
◆Apple:部分重要“零件”采用C++語(yǔ)言學(xué)習(xí)編寫(xiě)而成。
◆AT&T:美國(guó)最大的電訊技術(shù)提供商,主要產(chǎn)品采用C++語(yǔ)言學(xué)習(xí)開(kāi)發(fā)。
◆Google:Web搜索引擎采用C++語(yǔ)言學(xué)習(xí)編寫(xiě)。
◆IBM:OS/400. o Microsoft:以下產(chǎn)品主要采用C++語(yǔ)言學(xué)習(xí)(Visual C++語(yǔ)言學(xué)習(xí))編寫(xiě):o Windows XP Windows NT:NT4、2000 Windows 9x:95、98、Me Microsoft Office:Wo rd、Excel、Access、PowerPoint、Outlook Internet Explorer,包括Outlook Express Visual Studio:Visual C++語(yǔ)言學(xué)習(xí)、Visual Basic、Visual FoxPro .NET Framework類(lèi)庫(kù)采用C #編寫(xiě),但C#編譯器自身則使用C++語(yǔ)言學(xué)習(xí)編寫(xiě)而成。Exchange SQL Server FrontPage Project所有游戲……
◆KDE:K Desktop Environment(Linux)。
◆Symbian OS:最流行的蜂窩電話(huà)OS之一。
很多新手特別容易會(huì)對(duì)自己所學(xué)習(xí)的東東產(chǎn)生疑惑、迷茫。覺(jué)得自己學(xué)這個(gè)東西,花了這么多時(shí)間有沒(méi)有用,會(huì)不會(huì)過(guò)時(shí)?這種思想很普遍。在一些論壇上經(jīng)常會(huì)看到一些各語(yǔ)言的優(yōu)劣比較,知道自己所學(xué)語(yǔ)言的優(yōu)劣也好,但是如果一味停留在這個(gè)層面就沒(méi)有用了。
任何語(yǔ)言都只是工具而已。重要的是使用工具的人!就我個(gè)人的經(jīng)驗(yàn)來(lái)講,真正處于業(yè)界搞開(kāi)發(fā)的人都愿意使用成熟的、為自己所熟知的技術(shù)來(lái)完成工作。而新手都喜歡用一些比較新的技術(shù)來(lái)做開(kāi)發(fā),而且喜歡追求新奇(從界面很容易看出來(lái),花花綠綠的界面多半出自新手)。其實(shí),安于用一些效率可能低下、擴(kuò)展性和維護(hù)性差的方法來(lái)解決問(wèn)題并不是開(kāi)發(fā)人員的錯(cuò)。
他們只是在完成工作而已。但是作為一個(gè)真正有上進(jìn)心的開(kāi)發(fā)人員,我們應(yīng)該使用更優(yōu)雅和高效的編程技術(shù),這才是我們逐漸變成編程“大牛”的好習(xí)慣。老是停留在原地,很容易被淘汰的。在軟件開(kāi)發(fā)這個(gè)行當(dāng),尤其如此。無(wú)論是對(duì)學(xué)生,還是一線(xiàn)開(kāi)發(fā)人員,我覺(jué)得都不應(yīng)該產(chǎn)生“書(shū)讀夠了”的感嘆!我有時(shí)候喜歡將以前看過(guò)的書(shū)翻出來(lái)再看,每次總能體會(huì)到一些新東西。
有關(guān)C++語(yǔ)言學(xué)習(xí)語(yǔ)言的書(shū)籍更是如此,而且我覺(jué)得我所起的題目不是很好。為什么?因?yàn)槲矣X(jué)得學(xué)習(xí)語(yǔ)言還只是新手跨入軟件開(kāi)發(fā)“地獄”的第一步,單單學(xué)習(xí)語(yǔ)言本身是遠(yuǎn)遠(yuǎn)不夠的,還要學(xué)習(xí)相關(guān)的程序庫(kù)(C++語(yǔ)言學(xué)習(xí)當(dāng)然首選是先學(xué)習(xí)C++語(yǔ)言學(xué)習(xí)標(biāo)準(zhǔn)程序庫(kù))、相關(guān)的平臺(tái)技術(shù)(如。NET),說(shuō)得更遠(yuǎn)一點(diǎn),還要鍛煉對(duì)目標(biāo)問(wèn)題的分析、歸納能力等等。工作之前,技術(shù)路線(xiàn)自己作主,工作之后,絕大多數(shù)程序員將被公司技術(shù)路線(xiàn)左右。
所以,趁現(xiàn)在還有時(shí)間,可以學(xué)一些自己感興趣的。如果想搞軟件開(kāi)發(fā),特別是電力系統(tǒng)軟件的開(kāi)發(fā),學(xué)好C++語(yǔ)言學(xué)習(xí)不會(huì)令我們失望。當(dāng)我們進(jìn)入C++語(yǔ)言學(xué)習(xí)的前門(mén),然后經(jīng)過(guò)一段黑暗之路,再?gòu)暮箝T(mén)出來(lái)到達(dá)光明頂后,我們會(huì)體味到“一覽眾山小”的感覺(jué)。
推薦書(shū)籍:《編程高手箴言》梁肇新(用過(guò)超級(jí)解霸的都應(yīng)該知道吧,^_^)寫(xiě)的第一本書(shū),其中有幾章還是值得一讀的。在這本書(shū)中,梁告訴我們,學(xué)東西要耐心,要耐得住“寂寞”,走自己的路,讓別人去“說(shuō)”吧!
最近比較忙,原來(lái)打算緊扣主題講講一些具體的C++語(yǔ)言學(xué)習(xí)語(yǔ)言的細(xì)節(jié)的,但還是抽不出大段的時(shí)間了。所以,現(xiàn)在只能再漫談一些關(guān)于C++語(yǔ)言學(xué)習(xí)的故事了。
C++語(yǔ)言學(xué)習(xí)源于C語(yǔ)言,還記得很久以前學(xué)習(xí)C語(yǔ)言的時(shí)光(那是一段快樂(lè)而充實(shí)的時(shí)光),可是現(xiàn)在學(xué)習(xí)C++語(yǔ)言學(xué)習(xí),并不是在C的基礎(chǔ)上加上了類(lèi)而已,如果這樣認(rèn)為,我們是耍不好C++語(yǔ)言學(xué)習(xí)的。因此,C++語(yǔ)言學(xué)習(xí)絕不是C的升級(jí)或擴(kuò)充,我們應(yīng)該把C++語(yǔ)言學(xué)習(xí)當(dāng)作一門(mén)新語(yǔ)言來(lái)學(xué)習(xí)(C++語(yǔ)言學(xué)習(xí)之父Bjarne Stroustrup語(yǔ))。
寫(xiě)程序首先希望是程序能正確執(zhí)行,其次是效率能夠被接受,再次就是易于維護(hù)。C++語(yǔ)言學(xué)習(xí)是一個(gè)難學(xué)易用的語(yǔ)言。C++語(yǔ)言學(xué)習(xí)提供了太多可選擇的東西,而且使用使用C++語(yǔ)言學(xué)習(xí)來(lái)寫(xiě)程序可以有四種思考模式:基于過(guò)程、基于對(duì)象、面向?qū)ο蠛头盒汀?/P>
我們使用一種語(yǔ)言來(lái)寫(xiě)程序,并不意味著就是使用語(yǔ)言本身,換句話(huà)說(shuō),我們更多的時(shí)候是使用程序庫(kù)在寫(xiě)程序。比如MFC、STL、ATL、VCL等等。其中要使用C++語(yǔ)言學(xué)習(xí)來(lái)寫(xiě)出結(jié)構(gòu)優(yōu)美、性能卓越、代碼簡(jiǎn)潔、易于維護(hù)的代碼,首推C++語(yǔ)言學(xué)習(xí)標(biāo)準(zhǔn)程序庫(kù)。
【編輯推薦】