學習C++的經驗:如何成為一名C++程式員

來源:互聯網
上載者:User

如何成為一名C++程式員

入門:

  入門就是要初步對編程的思想有個瞭解,並且能編程解決一些小問題。入門一定要選好書,難度如果太低了會造成對讀者的誤導,以為編程就是這麼回事;也不能太高深,免的打擊讀者的信心。既然編程的入門要求是編一些小程式解決小問題,那麼就沒必要直接學習C++,我覺得迴圈、判斷、跳轉、指標才是最基本的編程思想,學通了這些對以後學習C++很有協助。

  我建議應該先把C紮實地學好,不光要掌握C的文法,因為學習編程的最終目的是解決實際問題,所以還要適當掌握把實際問題與編程聯絡在一起的能力,我推薦《 C程式設計語言(第2版) 》,這本書是C語言之父寫的,不僅詳盡介紹了C的文法,還提供了很多實際的小問題作為執行個體,可以說看了這本書之後能為以後的編程學習打下一個紮實的基礎!

  提高:

  學了《 C程式設計語言(第2版) 》後可以開始學習C++,一開始沒必要鑽很深的大部頭書,《Essential C++中文版 》非常適合初學,一個禮拜就可以看完,看了它可以快速對C++的全貌有個瞭解,雖然不會馬上熟練掌握C++。

  我們不能滿足於解決“百錢買百雞”,真正實現程式還有很多非功能上的問題,比如怎樣做才能使用更少的記憶體?怎樣做才能更快?在熟悉一門語言後,一定要認真學習的就是資料結構!資料結構保證了我們的程式能以高效的方式運行。《 資料結構演算法與應用C++語言描述 》是本好書,它提供了很多實際的例子,比如火車站調度、走迷宮,相比於“百錢買百雞”這種問題又提高了一個層次。

  接下來專心提高C++的水平,可以選擇《 C++編程思想 》,然後再看《 Effective C++中文版 2nd Edition 》和《 More Effective C++中文版 》,這兩本書介紹了高效使用C++的寶貴經驗,語言很幽默。至此,你已經可以自稱是C++程式員了,恭喜!

  下面介紹幾本書,有興趣的朋友可以選讀。如果想高效地使用C++開發軟體,STL一定要學!《 C++標準程式庫—自修教程與參考手冊 》可以幫你學會STL的使用,而且開發時可以拿它做手冊,有了前面資料結構的基礎,學習STL的使用不會遇到什麼困難。如果你還想知道STL的設計思想及原理,不妨看看《 泛型程式設計與STL 》。有些朋友可能會問,C++的物件導向機制是怎麼實現的?《 深度探索C++物件模型 》給了你答案,它剖析了C++底層的實現。最後,如果想有一本C++大百科全書,那非《 C++程式設計語言(特別版) 》莫屬!這本書是C++之父Bjarne Stroustrup的大作,算是書中權威。

  再提高:

  到現在為止,你已經熟練掌握C++語言了,現在需要提高的就是設計思想,物件導向(OO)的最大特點是把我們的注意力從系統的執行體繫結構轉移到概念體繫結構,因此利用OO開發大型系統會更輕鬆。但是經常可以看到人們拿著C++用面向過程的思想解決問題,缺乏的就是物件導向的設計思想,也難怪,在這裡之前看的書都沒有教你怎樣用物件導向的方法開發系統,頂多介紹了物件導向是什麼,看了這麼多書難免會先入為主,《C語言程式設計》(或者你看的第一本編程書)中的思路潛在的影響著我們。這條鴻溝就由《 設計模式--可複用物件導向軟體的基礎 》來補救吧!所謂模式就是前人總結出來的、經過千錘百鍊的一種系統結構,設計模式展示了23個經典的模式,通過學習、理解,你可以看到什麼是真正的物件導向。

  看了《 設計模式--可複用物件導向軟體的基礎 》後,有時間不妨看看《 重構--改善既有代碼的設計(中文版) 》,學了物件導向的設計思想後看它,可以站在一定高度重新審視一下自己的C++編程水平。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.