C++ 入門到進階 學習路線


前言

學習這件事不在乎有沒有人教你,最重要的是在於你自己有沒有覺悟和恆心。 —— 法布爾

簡介

隨着互聯網及互聯網+深入蓬勃的發展,經過40余年的時間洗禮,C/C++儼然已成為一門貴族語言,出色的性能使之成為高級語言中的性能王者。而在今天,它又扮演着什么樣重要的角色呢?請往下看:

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

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

初學者看到這么密集的知識點,是不是有點眼暈呢?的確,C/C++是一門知識面覆蓋很廣的學科。想學好C/C++的你並不需要慌張,內容雖多,但依然有法可依。只要有足夠的耐心和毅力,加上正確的學習方法,就不怕你學不好C/C++。

既然如此,C/C++開發到底需要學些什么呢,又應該怎么學呢?請大家繼續往下看。

初級入門階段

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

① C語言

數據類型、變量、內存布局、指針基礎;

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

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

結構體、文件的使用;

動態庫的封裝和設計;

函數指針回調函數。

② C++語言

面向對象編程思想;

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

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

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

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

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

友元函數和友元類;

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

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

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

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

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

C++類型轉換;

C++輸入輸出流(標准I/O 文件I/O 字符流I/O);

C++異常處理(異常機制、異常類型、異常變量、異常層次結構、標准異常庫);

③ 常用的IDE開發工具

諸如Windows平台VC系列:VC++6.0(比較古老) ;Visual Studio2013, Visual Studio2015;Mac平台的XCode系列,還有CodeBlock,另附
一些高級編輯器Notepad++, EditPlus,UE等一些開發工具的常用設置和一些常見快捷鍵的使用。

此階段的學習難度系數不大,掌握這些內容之后,可以做些簡單的小項目。當然了如果你想用這些技能找工作的話確實是比較困難的。這
時你還應該在加把勁進一步學習第二階段。

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數據庫的使用方式。

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

C++ 開發高級

讀到此處的你,相信你有更高的目標。即是當下炙手可熱的全棧開發工程師,既曉前端,又通后台。快速定位問題,解決問題對他們來說
已是小菜一碟,就是人們常說的神秘大牛,只在公司技術攻關的時候才會才看到他們的身影。

①此階段軟件開發工作所需的知識和技能相對較難,高級軟件工程師編碼熟練度和規范性需要達到一定要求;

②具備一定的項目能力(包括調試能力、文檔編寫能力、測試能力等)和綜合技術素質(包括對軟件生命周期的理解、對設計模式的理解、
必備的行業知識和經驗等);.

③了解主流的后台技術和前后端協作方式,能從全局角度理解項目的整個生命周期。

如果你能熟練掌握以上三個階段的知識技能,那么你就可以滿足C++開發行業的高級需求。

結束

不經一番徹骨寒,哪有梅花撲鼻香?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM