序
忘了之前在哪看到的一篇文章了,文章名字是《黑馬程式員:3分鐘帶你讀懂c/c++學習路線》;今天翻看之前的文檔記錄,看到了它,聲明:以下内容非原創
随着網際網路及網際網路+深入蓬勃的發展,經過40餘年的時間洗禮,c/c++俨然已成為一門貴族語言,出色的性能使之成為進階語言中的性能王者。而在今天,它又扮演着什麼樣重要的角色呢?請往下看:
後端伺服器,移動網際網路後端,經典windows界面開發,移動網際網路端界面開發,跨平台界面開發,圖形分析,系統架構,應用設計,還有現在最為流行的分布架構等一些新的技術領域。
這麼牛的語言,你是不是想知道怎樣學習和掌握它呢?接下來請看經過小編整理過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資料庫的使用方式。
如果你能熟練掌握以上列出的技能,具備解決複雜問題和技術難點的能力,而且你能獨立開發一些比較複雜的功能子產品,那麼很榮幸地告訴你,你已經達到中級水準,薪資過萬對你來說簡直是小菜一碟。