最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

學(xué)習(xí) C++能帶給我們什么

 更新時(shí)間:2016年03月26日 09:53:54   投稿:hebedich  
這篇文章主要介紹了學(xué)習(xí) C++能帶給我們什么的相關(guān)總結(jié),主要來(lái)自于前輩們,這里匯總給大家,需要的朋友可以參考下

C++準(zhǔn)確說(shuō)是一門中級(jí)語(yǔ)言,介于匯編和高級(jí)語(yǔ)言之間吧,要求程序員了解計(jì)算機(jī)的內(nèi)部數(shù)據(jù)存儲(chǔ)。個(gè)人認(rèn)為,作為學(xué)生還是花功夫?qū)WC++,因?yàn)椤对O(shè)計(jì)模式》《數(shù)據(jù)結(jié)構(gòu)》這些課程基本上還是C++應(yīng)付的比較好(我的切身體會(huì)),學(xué)習(xí) C++,認(rèn)真閱讀c++ primer,而后配合 The ADAPTIVE Communication Environment (ACE)了解設(shè)計(jì)模式, 再看看《深入淺出STL》,就會(huì)發(fā)現(xiàn)其他語(yǔ)言都一樣,不變的是思想本身。

在以下領(lǐng)域,C++有著根本性的優(yōu)勢(shì):低級(jí)系統(tǒng)程序設(shè)計(jì)、高級(jí)系統(tǒng)程序設(shè)計(jì)、嵌入式程序設(shè)計(jì)、數(shù)值科學(xué)計(jì)算、通用程序設(shè)計(jì)以及混合系統(tǒng)設(shè)計(jì)等等。讓我們略微展開(kāi)描述一下:

    1. 低級(jí)系統(tǒng)程序設(shè)計(jì):C++是迄今為止最好的低級(jí)程序設(shè)計(jì)語(yǔ)言。

    2. 高級(jí)系統(tǒng)程序設(shè)計(jì):包括操作系統(tǒng)核心、網(wǎng)絡(luò)管理系統(tǒng)、編譯系統(tǒng)、電子郵件系統(tǒng)、文字排版系統(tǒng)、圖像和聲音的編排系統(tǒng)、通訊系統(tǒng)、用戶界面、數(shù)據(jù)庫(kù)系統(tǒng)等等。

    3. 嵌入式系統(tǒng):包括照相機(jī)、汽車、火箭、電話交換機(jī)、汽車等等。

    4. 數(shù)值/科學(xué)計(jì)算:包括仿真、實(shí)時(shí)數(shù)據(jù)獲取和數(shù)據(jù)庫(kù)訪問(wèn)等等。

    Bjarne的個(gè)人主頁(yè)上,有一頁(yè)applications,那兒列出了一些(全部或大部分)使用C++編寫的系統(tǒng)、應(yīng)用程序和庫(kù)。下面是一些例子:

    1. Adobe Systems:所有主要應(yīng)用程序都使用C++開(kāi)發(fā)而成,比如Photoshop & ImageReady、Illustrator和Acrobat等。

    2. Maya:知道“蜘蛛人”、“指環(huán)王”的電腦特技是使用什么軟件做出來(lái)的嗎?沒(méi)錯(cuò),就是Maya。

    3. Amazon.com:使用C++開(kāi)發(fā)大型電子商務(wù)軟件。

    4. Apple:部分重要“零件”采用C++編寫而成。

    5. AT&T:美國(guó)最大的電訊技術(shù)提供商,主要產(chǎn)品采用C++開(kāi)發(fā)。

    6. Google:Web搜索引擎采用C++編寫。

    7. IBM:OS/400。

    8. Microsoft:以下產(chǎn)品主要采用C++(Visual C++)編寫:

        Windows XP
        Windows NT:NT4、2000
        Windows 9x:95、98、Me
        Microsoft Office:Word、Excel、Access、PowerPoint、Outlook
        Internet Explorer,包括Outlook Express
        Visual Studio:Visual C++、Visual Basic、Visual FoxPro
        .NET Framework類庫(kù)采用C#編寫,但C#編譯器自身則使用C++編寫而成。
        Exchange
        SQL Server
        FrontPage
        Project
        所有游戲
        ......

    9. KDE:K Desktop Environment(Linux)。

    10. Symbian OS:最流行的蜂窩電話OS之一。

    我通常使用C++進(jìn)行高端程序開(kāi)發(fā)。

    “通常”一詞沒(méi)什么好說(shuō)的,有時(shí)只是出于公司文化或個(gè)人愛(ài)好方面的原因,選用了別的語(yǔ)言而不是C++,或者相反。我所說(shuō)的“高端”是指:關(guān)鍵業(yè)務(wù)處理,效率要求極高,實(shí)時(shí)性要求高等等。

    我看見(jiàn)幾乎所有嚴(yán)肅的工控系統(tǒng)軟件和實(shí)時(shí)數(shù)據(jù)采集、處理和表現(xiàn)(主要是圖形)軟件,都是采用C++(或C,少部分采用Java)編寫而成的。

    據(jù)我的了解,我原先所在的研究院幾乎每一個(gè)研究所都在不同程度地使用C++(以及一些別的語(yǔ)言)。

    想想看,迄今為止,現(xiàn)代Unix操作系統(tǒng)的各種變體上,最常使用的是什么樣的開(kāi)發(fā)語(yǔ)言?(C/C++)

    C++語(yǔ)言

    C++語(yǔ)言是靈活,但首先要看看使用者能不能發(fā)揮它的靈活性;C++語(yǔ)言夠強(qiáng)大,但要看看使用者有沒(méi)有本事發(fā)揮它的強(qiáng)大功能。

    使用C++語(yǔ)言和編譯器編寫一個(gè)快速的程序,并不難,不過(guò)編寫一個(gè)強(qiáng)健而高效的大型程序,就不是那么容易了。

    語(yǔ)言之間的區(qū)別,絕非只是大括號(hào)和begin、end或Sub、End Sub之間的區(qū)別。選擇了一種語(yǔ)言,你就選擇了一種思維方式,一種程序設(shè)計(jì)思想。要想跳出語(yǔ)言的束縛,首先要對(duì)語(yǔ)言有著深刻的認(rèn)識(shí)和透徹的把握。世界上一些大師級(jí)的人物,也常常毫不掩飾自己對(duì)某種語(yǔ)言(我并沒(méi)有專指C++)的偏愛(ài)。一些人對(duì)語(yǔ)言尚一知半解,就大談要跳出語(yǔ)言的束縛了 — 你無(wú)需跳出,因?yàn)槟愀静辉钊搿?/p>

    純粹的技術(shù)性(學(xué)術(shù)性)研究,總能給人帶來(lái)純粹的快樂(lè)。C++語(yǔ)言復(fù)雜至極,可研究性極強(qiáng),但一般來(lái)說(shuō),沒(méi)有3~5年的持續(xù)學(xué)習(xí)、思考、使用,是不可能真正掌握C++的。

    我不是唯語(yǔ)言論或唯工具論者,但我反對(duì)抹殺不同語(yǔ)言、不同開(kāi)發(fā)工具之間的區(qū)別。抱持這種觀點(diǎn)的人,若非無(wú)知,即是別有用心。這就好比雜牌筆記本電腦廠商最喜歡叫嚷“筆記本電腦已經(jīng)進(jìn)入同質(zhì)時(shí)代”一樣,雜牌機(jī)怎么能和IBM相比?

    選擇C++或選擇Java,要看你個(gè)人愛(ài)好和對(duì)將來(lái)的打算。雖然只是語(yǔ)言上的差別,但由此決定的就業(yè)領(lǐng)域的確不一樣。

    不管你走什么樣的技術(shù)路線,不管你用不用它做開(kāi)發(fā),學(xué)習(xí)C++總會(huì)帶來(lái)長(zhǎng)遠(yuǎn)的好處。一名熟悉C++的開(kāi)發(fā)人員,假如他不是一個(gè)偏執(zhí)狂的話,再學(xué)習(xí)Java或C#,都要容易得多。

    C++不過(guò)是一門編程語(yǔ)言,我們總是要用它來(lái)解決實(shí)際問(wèn)題,所以要學(xué)習(xí)開(kāi)發(fā)工具(比如Visual C++),了解操作系統(tǒng)(比如API),熟悉領(lǐng)域知識(shí)(比如電力系統(tǒng)),掌握其他軟件技術(shù)(比如數(shù)據(jù)庫(kù)),等等。編寫真正的代碼,解決實(shí)際問(wèn)題的能力,才是衡量一名程序員是否有真水平的唯一標(biāo)準(zhǔn)。

    設(shè)計(jì)模式和統(tǒng)一建模語(yǔ)言

    設(shè)計(jì)模式(Design Patterns)和統(tǒng)一建模語(yǔ)言(Unified Modeling Language,UML)是兩個(gè)不同的概念。前者主要目標(biāo)在于提供可重用的面向?qū)ο筌浖O(shè)計(jì)方案,后者則是一種描繪軟件藍(lán)圖的標(biāo)準(zhǔn)語(yǔ)言。

    當(dāng)然了,可以使用UML來(lái)描述設(shè)計(jì)模式的結(jié)構(gòu)。

    UML所描述的模型可以映射成C++、C#、Java等語(yǔ)言代碼,甚至可以映射到關(guān)系型數(shù)據(jù)庫(kù)。映射過(guò)程可以是雙向的,一般都有相應(yīng)的軟件工具(或插件)支持。

    不同的語(yǔ)言,特性有所差別,這多少會(huì)影響設(shè)計(jì)模式在該語(yǔ)言中的實(shí)現(xiàn)(方式、難易)。比方說(shuō),假如使用C語(yǔ)言來(lái)描述設(shè)計(jì)模式,那么,繼承、封裝和多態(tài)等特性就變成了需要研究的設(shè)計(jì)模式,但在任何一門面向?qū)ο蟮恼Z(yǔ)言中,這都純屬多余。

    現(xiàn)在市面上還沒(méi)有看到象樣的以C#為手段講述設(shè)計(jì)模式的書(我沒(méi)有看到),但這并不打緊,倘若有興趣,完全可以讀一讀《Design Patterns: Elements of Reusable Object-Oriented Software》(中文版名《設(shè)計(jì)模式》機(jī)械工業(yè)出版社)這本書,盡管它主要以C++和Smalltalk語(yǔ)言為講解手段。

    設(shè)計(jì)模式本身無(wú)所謂好壞,根據(jù)你要解決的目標(biāo)問(wèn)題,選擇適當(dāng)?shù)脑O(shè)計(jì)模式。

    系統(tǒng)架構(gòu)

    在企業(yè)級(jí)軟件開(kāi)發(fā)中,架構(gòu)第一重要。架構(gòu)有缺陷,系統(tǒng)就存在硬傷。優(yōu)秀的架構(gòu)來(lái)自于優(yōu)秀的設(shè)計(jì)。這一點(diǎn)毋庸置疑。

    任何成功的軟件,即使它沒(méi)有明確地使用建模思想、架構(gòu)方法,但在骨子里、潛意識(shí)中,大都具有良好的設(shè)計(jì)思想和架構(gòu)。

    只有寫過(guò)好多好多代碼以后,只有做過(guò)一些夠份量的企業(yè)級(jí)項(xiàng)目之后,才可能對(duì)軟件架構(gòu)形成清晰的認(rèn)識(shí)。很難想像一個(gè)連幾行像樣的代碼都沒(méi)有寫過(guò)的人,對(duì)程序思想和架構(gòu)卻有著深刻的認(rèn)識(shí)。這種人,十有八九屬于紙上談兵之輩。

    我們時(shí)不時(shí)會(huì)看到這種情況,軟件的設(shè)計(jì)也不算太差,但程序員要么不知道怎么寫實(shí)現(xiàn)代碼,要么是代碼寫得缺乏效率,或不夠強(qiáng)健,甚至有時(shí)連“架構(gòu)師”自己對(duì)此都一籌莫展。

    我們也常常聽(tīng)到一些聲音,不要太拘泥于語(yǔ)言(技術(shù))細(xì)節(jié)了,要從大處著眼,要有大局觀,架構(gòu)怎么怎么重要,這些都是大實(shí)話。不過(guò)現(xiàn)實(shí)情況往往是,很多程序員不是太拘泥于語(yǔ)言(技術(shù))細(xì)節(jié)了,而是對(duì)語(yǔ)言(技術(shù))細(xì)節(jié)掌握得還遠(yuǎn)遠(yuǎn)不夠。

    書本知識(shí)的重要性毋庸置疑,但絕不要以為讀了兩本書,自己就成了牛氣的架構(gòu)師、設(shè)計(jì)師或者什么建模專家。

    從前的軟件開(kāi)發(fā)埋頭實(shí)踐而缺乏必要的理論指導(dǎo)?,F(xiàn)在越來(lái)越走向另外一個(gè)極端:設(shè)計(jì)文稿越來(lái)越圖文并茂,琳瑯滿目,但開(kāi)發(fā)出來(lái)的軟件卻比以前差很多。這種表面文章,意義何在?

    數(shù)據(jù)庫(kù)

    大多數(shù)軟件都要和數(shù)據(jù)庫(kù)打交道,并非只有MIS類軟件如此,數(shù)據(jù)庫(kù)知識(shí)幾乎是非掌握不可的,無(wú)非使用深度和廣度有別而已。迄今為止,我編寫的每一個(gè)項(xiàng)目軟件,都要訪問(wèn)數(shù)據(jù)庫(kù),有一個(gè)程序甚至同時(shí)要跟兩個(gè)數(shù)據(jù)庫(kù)打交道(Oracle和SQL Server)。

    如果你上過(guò)任何一門數(shù)據(jù)庫(kù)基礎(chǔ)理論方面的課,或認(rèn)真看過(guò)任何一本數(shù)據(jù)庫(kù)基礎(chǔ)理論方面的書,或許都不必再買更多的(類似的)書。二十多年以來(lái),關(guān)系式數(shù)據(jù)庫(kù)理論之穩(wěn)定,遠(yuǎn)遠(yuǎn)超過(guò)C++語(yǔ)言的穩(wěn)定:)

相關(guān)文章

  • 詳解C++的反調(diào)試技術(shù)與繞過(guò)手法

    詳解C++的反調(diào)試技術(shù)與繞過(guò)手法

    反調(diào)試技術(shù),惡意代碼會(huì)用它識(shí)別自身是否被調(diào)試,或者讓調(diào)試器失效,給反病毒工程師們制造麻煩,拉長(zhǎng)提取特征碼的時(shí)間線,本章將具體總結(jié)常見(jiàn)的反調(diào)試基礎(chǔ)的實(shí)現(xiàn)原理以及如何過(guò)掉這些反調(diào)試手段,從而讓我們能夠繼續(xù)分析惡意代碼
    2021-06-06
  • Qt5.9程序打包發(fā)布的實(shí)現(xiàn)

    Qt5.9程序打包發(fā)布的實(shí)現(xiàn)

    本文主要介紹了Qt5.9程序打包發(fā)布的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • 基于C語(yǔ)言實(shí)現(xiàn)泛型編程詳解

    基于C語(yǔ)言實(shí)現(xiàn)泛型編程詳解

    對(duì)于C而言,想實(shí)現(xiàn)泛型編程并非易事,甚至可以說(shuō)非常繁瑣,一大堆坑。最主要也沒(méi)有現(xiàn)成的輪子可用。本文就來(lái)詳細(xì)為大家講講C語(yǔ)言如何實(shí)現(xiàn)泛型編程詳解,需要的可以參考一下
    2022-07-07
  • 利用C++模擬實(shí)現(xiàn)STL容器:list

    利用C++模擬實(shí)現(xiàn)STL容器:list

    列表是一種順序容器,它允許在序列中的任何位置執(zhí)行常量時(shí)間插入和刪除操作,并允許在兩個(gè)方向上進(jìn)行迭代。本文將利用C++模擬實(shí)現(xiàn)list,希望對(duì)大家有所幫助
    2022-12-12
  • C語(yǔ)言結(jié)構(gòu)體內(nèi)存對(duì)齊詳解

    C語(yǔ)言結(jié)構(gòu)體內(nèi)存對(duì)齊詳解

    大家好,本篇文章主要講的是C語(yǔ)言結(jié)構(gòu)體內(nèi)存對(duì)齊詳解,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-01-01
  • C語(yǔ)言編程PAT乙級(jí)學(xué)習(xí)筆記示例分享

    C語(yǔ)言編程PAT乙級(jí)學(xué)習(xí)筆記示例分享

    這篇文章主要為大家介紹了C語(yǔ)言編程PAT乙級(jí)學(xué)習(xí)筆記實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • C++中bitset位圖介紹及模擬實(shí)現(xiàn)

    C++中bitset位圖介紹及模擬實(shí)現(xiàn)

    位圖就是用每一位來(lái)存放某種狀態(tài),適用于海量數(shù)據(jù),本文就介紹一下C++中bitset位圖介紹及模擬實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-07-07
  • C++使用異或運(yùn)算實(shí)現(xiàn)交換兩個(gè)數(shù)的值

    C++使用異或運(yùn)算實(shí)現(xiàn)交換兩個(gè)數(shù)的值

    交換兩個(gè)數(shù)的值,通常用利用一個(gè)變量來(lái)交換數(shù)值,異或交換兩個(gè)數(shù)的值是資源開(kāi)銷最小的方法,不需要中介數(shù),原理簡(jiǎn)單的來(lái)說(shuō)就是異或的負(fù)負(fù)得正
    2018-09-09
  • C++內(nèi)存池兩種方案解析

    C++內(nèi)存池兩種方案解析

    這篇文章主要詳情介紹了C++內(nèi)存池兩種方案做對(duì)比,對(duì)此感興趣的小伙伴一起來(lái)看看吧
    2021-08-08
  • 詳解C++ 動(dòng)態(tài)庫(kù)導(dǎo)出函數(shù)名亂碼及解決

    詳解C++ 動(dòng)態(tài)庫(kù)導(dǎo)出函數(shù)名亂碼及解決

    這篇文章主要介紹了C++ 動(dòng)態(tài)庫(kù)導(dǎo)出函數(shù)名亂碼及解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03

最新評(píng)論

汉沽区| 札达县| 崇左市| 滦南县| 绵竹市| 香港 | 通辽市| 延津县| 申扎县| 东方市| 搜索| 会宁县| 浙江省| 察哈| 深州市| 卓尼县| 三原县| 内乡县| 西和县| 五峰| 齐河县| 滨海县| 明星| 河西区| 和平区| 沂水县| 包头市| 山东省| 城步| 无为县| 丰宁| 慈溪市| 南康市| 迁安市| 建昌县| 玉环县| 丹凤县| 彭水| 容城县| 贵港市| 甘谷县|