天天看點

C/C++學習路線(總體把握C/C++)

 忘了之前在哪看到的一篇文章了,文章名字是《黑馬程式員:3分鐘帶你讀懂c/c++學習路線》;今天翻看之前的文檔記錄,看到了它,聲明:以下内容非原創

随着網際網路及網際網路+深入蓬勃的發展,經過40餘年的時間洗禮,c/c++俨然已成為一門貴族語言,出色的性能使之成為進階語言中的性能王者。而在今天,它又扮演着什麼樣重要的角色呢?請往下看:

後端伺服器,移動網際網路後端,經典windows界面開發,移動網際網路端界面開發,跨平台界面開發,圖形分析,系統架構,應用設計,還有現在最為流行的分布架構等一些新的技術領域。

     這麼牛的語言,你是不是想知道怎樣學習和掌握它呢?接下來請看經過小編整理過c/c++工程師必備知識的思維導圖。

C/C++學習路線(總體把握C/C++)

一、初級入門階段

在入門之初,首先要做的是通過c/c++語言的學習培養程式設計思維和動手能力,深刻了解面向過程和面向對象的思想方法。這個階段你需要學習:

① c語言

資料類型、變量、記憶體布局、指針基礎;

字元串、一維數組、二維數組;

一級指針,二級指針,三級指針,n級指針概念,指針數組和數組指針;

結構體、檔案的使用;

動态庫的封裝和設計;

      函數指針回調函數。 

② c++語言

面向對象程式設計思想;

類的封裝,構造和析構、靜态成員、對象管理;

類的構造(有參構造函數、無參構造、拷貝構造、預設構造函數)和析構;

對象動态管理、友元函數、友元類、操作符重載;

c++編譯器對象管理模型分析;

類對象的動态管理(new/delete);

友元函數和友元類;

運算符重載(一進制運算符、二進制運算符、運算符重載難點、項目開發中的運算符重載);

類的繼承、多繼承及其二義性、虛繼承;

多态(概念、意義、原理剖析、多态案例);

虛函數、純虛函數、抽象類(面向抽象類程式設計思想案例);

函數模闆、類模闆,模闆的繼承;

c++類型轉換;

c++輸入輸出流(标準i/o 檔案i/o 字元流i/o);

c++異常處理(異常機制、異常類型、異常變量、異常層次結構、标準異常庫);

二、c/c++開發進階

這一階段的目标才是達到c/c++軟體工程師開發行業的基本要求,這個階段是我們走向c/c++開發的進階之路,更是一個讓自己找份薪水比較體面的工作的籌碼。

如果在此部分遇到不懂的或者沒有見過的知識點和名詞,可先将本文收藏,供以後細細研讀。

①  c++進階之stl

stl = standard template library,即标準模闆庫。這是提高開發效率的極品工具。通過學習此階段,應掌握泛型程式設計技巧,了解容器類在c++語言中的應用模式,以及熟練掌握全部stl類的使用方法。

②  c++進階之設計模式

決定一個項目成敗最重要的因素是項目總體的設計,通過本階段的學習,可掌握面向對象程式設計中重要的一環,是編碼前模組化的技巧所在。單例模式;工廠模式;代理模式;疊代模式等,這些都是你要掌握的哦。

③  c++進階之資料結構基礎

這是所有程式設計語言中最應該學習的部分,程式組成的基礎之一。

順序存儲、鍊式存儲、循環連結清單;

雙向連結清單、棧(順序和鍊式)、隊列(順序和鍊式);

棧的應用、樹基本概念及周遊、二叉樹;

排序算法、并歸算法、選擇、插入、快速、希爾。

④  c++進階之ui界面開發

掌握qt類庫構架,圖形界面開發模型;

掌握qt開發技巧,消息機制,圖形處理;

掌握qt網絡程式設計,udp,tcp使用方式;

掌握qt檔案處理方式,序列化;

掌握qt在windows,linux,ios,android不同平台下的移植技術。

⑤  c++進階之unix/linux網絡伺服器

掌握unix/linux平台開發方式;

熟練使用系統調用;

熟練unix/linux記憶體管理,程序,線程排程;

熟悉網絡伺服器開發方式,熟練編寫tcp,ucp網絡服務程式;

掌握同步/異步io模型在網絡程式設計中的使用方式。

⑥ c++進階之資料庫開發

掌握sql語言的實用技巧。oracle,mysql資料庫的使用方式。

如果你能熟練掌握以上列出的技能,具備解決複雜問題和技術難點的能力,而且你能獨立開發一些比較複雜的功能子產品,那麼很榮幸地告訴你,你已經達到中級水準,薪資過萬對你來說簡直是小菜一碟。

繼續閱讀