<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          ?C++之父給C++程序員的1047條建議(文末送書)

          共 3636字,需瀏覽 8分鐘

           ·

          2021-08-16 04:21

          1979C++誕生的那一天起,C++之父Bjarne Stroustrup就一直致力于C++的標(biāo)準(zhǔn)制定、語言設(shè)計與實(shí)現(xiàn)、教學(xué)和研究等相關(guān)的工作,碩果累累,為C++的發(fā)展和應(yīng)用做出了杰出的貢獻(xiàn)。


          Stroustrup不僅僅是在C++方面取得了不菲的成就,在其他很多方面都頗有建樹。為了向Stroustrup致敬,我們來看看他亮眼的履歷。



          圖 C++之父Bjarne Stroustrup


          Bjarne Stroustrup介紹


          C++語言之父:C++的設(shè)計者和最初實(shí)現(xiàn)者,C++語言ISO標(biāo)準(zhǔn)的維護(hù)者。

          科學(xué)界明星人物曾獲《財富》雜志“美國12位最年輕的科學(xué)家”稱號,以及BYTE雜志“近20年來計算機(jī)工業(yè)最具影響力的20人”稱號。

          學(xué)術(shù)造詣極高美國工程院院士、IEEE會士、ACM會士,曾獲Sigma Xi(科學(xué)研究協(xié)會)的William Procter獎(首位獲得此獎的計算機(jī)科學(xué)家)。


          教育貢獻(xiàn)重大:曾擔(dān)任德州農(nóng)工大學(xué)首席教授,為劍橋大學(xué)、哥倫比亞大學(xué)、普林斯頓大學(xué)等知名學(xué)府教育事業(yè)做出重要貢獻(xiàn)。


          企業(yè)界擔(dān)任要職:現(xiàn)任摩根士丹利技術(shù)與數(shù)據(jù)部門董事總經(jīng)理,RollApp科技公司資深顧問。

          著作頗豐:

          • The Design and Evolution of C++(《C++的設(shè)計與演化》)

          • A Tour of C++(《C++語言導(dǎo)學(xué)》,更新至第2版)

          • The C++ Programming Language(《C++程序設(shè)計語言》,更新至第4版)

          • Programming: Principles andPractice Using C++(《C++程序設(shè)計:原理與實(shí)踐》,更新至第2版)

           

          為了幫助程序員更好地學(xué)習(xí)和使用C++,Stroustrup創(chuàng)建了一個內(nèi)容豐富的C++元宇宙《C++之父創(chuàng)建的C++元宇宙》。其中,這個元宇宙中包含1047條C++編程的最佳實(shí)踐,全部都是從C++語言設(shè)計者的視角和大量工程實(shí)踐中總結(jié)出來的寶貴經(jīng)驗(yàn),可謂字字珠璣。


          這些最佳實(shí)踐都悉數(shù)總結(jié)在Stroustrup的3部享譽(yù)全球的著作里,由于數(shù)量比較多,本文無法全部呈現(xiàn),只能展示部分,想要領(lǐng)會語言之父思想和經(jīng)驗(yàn)的讀者,可以沿著下面的路線找到全部的1047條最佳實(shí)踐。


          1.《C++程序設(shè)計語言(原書第4版)》:698條

          這里隨機(jī)展示10條:

          建議1:請關(guān)注編程技術(shù),而非語言特性。

          建議2:設(shè)計應(yīng)該關(guān)注優(yōu)雅且高效的抽象,可能的情況下以庫的形式呈現(xiàn)。

          建議3:當(dāng)接口和實(shí)現(xiàn)需要完全分離時,請使用抽象類作為接口。

          建議4:如果你不確定是否會越界,請記得使用帶邊界檢查的容器。

          建議5:盡量使用普通char,而非signed char或unsigned char。

          建議6:讓表示所有權(quán)的指針位于句柄類的內(nèi)部。

          建議7:當(dāng)不得不使用顯式類型轉(zhuǎn)換時,請盡量使用命名的轉(zhuǎn)換。

          建議8:與函數(shù)指針相比,請優(yōu)先使用函數(shù)對象(包括lambda)和虛函數(shù)。

          建議9:僅在確實(shí)需要時才使用protected成員,且務(wù)必小心使用。

          建議10:模板可以用來構(gòu)成類型安全且緊湊的數(shù)據(jù)結(jié)構(gòu),以及用來線性化類層次。


          2.《C++程序設(shè)計設(shè)計:原理與實(shí)踐(原書第2版)》:27條

          這里隨機(jī)展示3條:

          建議11:請不要低估類型安全的重要性。類型是大多數(shù)正確程序的核心概念,大多數(shù)用于構(gòu)建程序的有效技術(shù)依賴于類型的設(shè)計與使用。

          建議12:輸入和輸出是很難處理的,所以我們必須預(yù)計到輸入輸出中所面臨的一定程度上的混亂,并接受它和適應(yīng)它。

          建議13:當(dāng)設(shè)計一個類時,我們必須考慮類的初始化、拷貝與析構(gòu)。

          3.《C++語言導(dǎo)學(xué)(原書第2版)》:322條

          這里隨機(jī)展示12條:

          建議14:理解C++語言的原語是如何映射到硬件的。

          建議15:避免使用裸union,將其與類型域封裝在一個類中。

          建議16:如果你的函數(shù)不拋出異常,那么將其聲明成noexcept。

          建議17:如果成員函數(shù)不改變其對象的狀態(tài),將其生命為const。

          建議18:如果某個類是一個資源句柄,則它需要一個用戶自定義的構(gòu)造函數(shù)、析構(gòu)函數(shù)和非默認(rèn)的拷貝操作。

          建議19:不能將虛函數(shù)成員定義成模板成員函數(shù)。

          建議20:如果你需要一個簡單函數(shù)對象且只用在一個地方,則使用lambda。

          建議21:不要重新發(fā)明輪子,應(yīng)該使用庫;當(dāng)有多種庫可選擇時,優(yōu)先選擇標(biāo)準(zhǔn)庫。

          建議22:將regex用于正則表達(dá)式的大部分常規(guī)用途。

          建議23:在使用一個文件流之前,記得檢查它是否依附于某個文件上。

          建議24:如果要在大量數(shù)據(jù)中執(zhí)行搜索操作,請選擇無序容器。

          建議25:與垃圾回收機(jī)制相比,請優(yōu)先選擇智能指針。

           

          不管你現(xiàn)階段的C++功底如何,應(yīng)該或多或少都能感受這些最佳實(shí)踐的價值。用“字字珠璣”來形容,一點(diǎn)也不夸張,有的是只有只有站在C++語言設(shè)計者才能明白的,有的可能是要踩了無數(shù)坑并付出一定的代價后才能明白的。


          如果能將這1047條最佳實(shí)踐吃透并靈活運(yùn)用,不敢說你從此在C++領(lǐng)域可以封神(Stroustrup才是yyds),但絕對可以稱得上是高手。

           

          要學(xué)好C++,最重要的是編程實(shí)踐,一定要編寫和閱讀有一定復(fù)雜度的工程化代碼,而不是Demo或玩具代碼。提到實(shí)踐,上面提到的C++之父的這3本書也會給你驚喜,因?yàn)闀杏?000-3000個代碼示例,這些代碼示例都是工程代碼簡化而來的,同時這3本書中還有1000多道習(xí)題。


          如果你想跟著C++之父學(xué)習(xí)最正統(tǒng)的C++,想了解C++的最新動態(tài),想學(xué)習(xí)的過程事半功倍,推薦你了解C++之父構(gòu)建的C++元宇宙。




          RECOMMEND

          推薦閱讀
          01

          《C++程序設(shè)計語言(原書第4版)》  

            

          作者:(美)本賈尼·斯特勞斯特魯普(Bjarne Stroustrup)

          譯者:王剛楊巨峰

          C++之父作品,40余年長銷不衰,被翻譯為20余種語言,

          世界名校教材,數(shù)百萬程序員學(xué)習(xí)C++的推崇之作



          推薦理由

          本書是在C++語言和程序設(shè)計領(lǐng)域具有深遠(yuǎn)影響、暢銷不衰的經(jīng)典著作,由C++語言的設(shè)計者和最初的實(shí)現(xiàn)者Bjarne Stroustrup編寫,對C++語言進(jìn)行了最全面、最權(quán)威的論述,覆蓋標(biāo)準(zhǔn)C++以及由C++所支持的關(guān)鍵編程技術(shù)和設(shè)計技術(shù)。本書英文原版一經(jīng)面世,即引起業(yè)內(nèi)人士的高度評價和熱烈歡迎,先后被翻譯成德、希、匈、西、荷、法、日、俄、中、韓等近20種語言,數(shù)以百萬計的程序員從中獲益,是無可取代的C++經(jīng)典力作。



          02

          《C++程序設(shè)計:原理與實(shí)踐(原書第2版)》


          作者:[美] 本賈尼·斯特勞斯特魯普(Bjarne Stroustrup)

          譯者:任明明王剛李忠偉劉曉光

          C++之父作品,暢銷全球10余年,

          被翻譯為20余種語言,1182道習(xí)題,

          C++程序員從匠人到藝術(shù)家必讀之作



          推薦理由

          將經(jīng)典程序設(shè)計思想與C++開發(fā)實(shí)踐完美結(jié)合,全面地介紹了程序設(shè)計基本原理,包括基本概念、設(shè)計和編程技術(shù)、語言特性以及標(biāo)準(zhǔn)庫等,教你學(xué)會如何編寫具有輸入、輸出、計算以及簡單圖形顯示等功能的程序。此外,本書通過對C++思想和歷史的討論、對經(jīng)典實(shí)例(如矩陣運(yùn)算、文本處理、測試以及嵌入式系統(tǒng)程序設(shè)計)的展示,以及對C語言的簡單描述,為你呈現(xiàn)了一幅程序設(shè)計的全景圖。



          03

          《C++語言導(dǎo)學(xué)(原書第2版)》


          作者:[美]本賈尼·斯特勞斯特魯普(Bjarne Stroustrup)

          譯者:王剛

          C++之父作品,暢銷全球近10年,322條編程建議,

          可幫助有經(jīng)驗(yàn)的程序員3小時了解C++語言全貌和設(shè)計思想



          推薦閱讀

          在本書中,C++的創(chuàng)造者本賈尼?斯特勞斯特魯普描述了現(xiàn)代C++語言的構(gòu)成。這本簡潔、自成體系的導(dǎo)引書籍包含了C++語言大多數(shù)主要特性和標(biāo)準(zhǔn)庫組件。本書通過介紹編程風(fēng)格(例如面向?qū)ο缶幊毯头盒途幊蹋┮鲋С炙鼈兊腃++特性。從基本特性開始,延伸到更寬范的進(jìn)階主題,包括很多C++17新特性,例如移動語義、一致初始化、lambda表達(dá)式、改進(jìn)的容器、隨機(jī)數(shù)以及并發(fā)。本書非常全面,甚至包含一些為C++20提出的擴(kuò)展,例如概念和模塊。本書最后討論了C++語言的設(shè)計和演化。


          最后
          如何送書



          在這篇文章下方留言 + 這篇文章的點(diǎn)贊在看,我會選取留言點(diǎn)贊量最高的 5 位同學(xué),送出這 5 本書的任意一本(中獎小伙伴自己選),《C++程序設(shè)計:原理與實(shí)踐(原書第2版)》與《C++程序設(shè)計語言(原書第4版),請獲獎粉絲備注選取的是基礎(chǔ)篇or進(jìn)階篇,1-3部分或第4部分。截止時間至 8 月 14 日晚 8 點(diǎn)。


          當(dāng)然,各位讀者朋友們你也可以在當(dāng)當(dāng)或者京東上自行購買到這幾本書。

          同時也歡迎各位加我微信,拉你進(jìn)微信學(xué)習(xí)交流群。也給公眾號加一個星標(biāo)。

          瀏覽 38
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  美女操逼的网站 | 东京热一区二区三区 | 欧美乱搞乱操视频 | 看亚洲A级一级毛片 | 久操视频在线观看免费视频 |