C++是一種通用的、面向對象的編程語言,可用于開發操作系統、游戲、圖形用戶界面、后端以及高性能系統和應用程序。
所以,盡管Python、Go這些后起之秀近幾年熱度非常高,但是在很多領域還是無法撼動C++的地位。
今天,就從淺到深,從入門到實戰,教你如何學習C++。
篇幅較長,先給出本文的目錄:
C++簡介
什么是C++?
為什么學C++?
C++的歷史
C和C++的區別
編譯型語言和解釋型語言
從入門到實戰
開發環境
C++入門
C++練習
C++實戰
C++進階
學習資源
書籍
視頻課程
開源項目
下面,就正式開始本文的正式內容吧!因為時間問題,整個大綱暫時只寫完了一半,所以今天只分享到開發環境為止,其他內容我們明天再給大家分享吧!
C++簡介
什么是C++?
現如今,流行的編程語言非常多,Python、Go、Java、PHP、JavaScript等等,它們各有自己擅長的領域和方向。
而C++則在系統資源和內存控制更勝一籌,因此,在操作系統、圖形圖像、游戲、嵌入式這些對性能要求較高的領域,C++一直都具有不可替代的地位。
它可以用來開發在多個平臺上運行的應用程序,如服務器、個人電腦、基于云的系統和移動設備。
為什么學C++?
如果你對計算機游戲、高端計算項目的軟件工程、加密貨幣挖礦程序和開發移動設備的操作系統等領域感興趣,學習C++則是必不可少的。
此外,相對于Go、Python這些更加高階的編程語言,會涵蓋更加全面的編程知識,也有助于學習者理解變量、函數、面向對象、指針、內存...這些在很多高階語言中容易被忽略的概念和知識。
C++的歷史
C++是由丹麥計算機科學家Bjarne Stroustrup(比雅尼·斯特勞斯特魯普)創造、設計和開發的。
斯特魯斯特魯普想制造一種類似于C語言的靈活和動態的語言,但是,需要擁有更多的功能。
它最初被稱為 "C with classes",在1983年被重新命名為C++,意思是 比C高一等。
國際標準化組織的C++聯合技術委員會在1998年至2017年間對C++進行了五次升級。
一個新的版本,C++20,計劃也在計劃中將要發布。
C和C++的區別
C和C++有哪些區別?
這是在學習C或者C++時無法繞開的一個問題。
Jon Kalb(軟件工程講師、C++ Now和CppCon的主席)說,C++是C的進化。
雖然它們有一些相似之處,但現在兩者有很大的不同。
雖然C語言被廣泛使用,但Kalb說它并不像C++那樣支持抽象、通用編程和面向對象編程。
在大型項目中,往往需要非常高層次的抽象,在這方面C++要遠勝于C語言。
抽象層指的是觀察或編程一個系統的復雜程度。低層次的抽象有更多的細節,而高層次的抽象可以包括整個系統。
C語言是一種程序性語言,它的代碼由指令組成,直接告訴計算機或其組件按邏輯步驟完成一項任務。
C++也可以做到這一點,而且,在此基礎上它支持高級功能,如類和面向對象,它允許程序員創建包含數據和功能的 "對象"。這種方法的優點是,軟件對象比程序性指令執行得更快,更容易執行,而且面向對象的編程使代碼更容易修改、維護和調試。
編譯型語言和解釋型語言
提起編程語言,就必須先要理解語言所屬類型 。
編程語言可以分為編譯型語言和解釋型語言,下面分別解釋一下。
編譯型語言:程序在執行之前需要一個專門的編譯過程,把程序編譯成 為機器語言的文件,運行時不需要重新翻譯,直接使用編譯的結果就行了。程序執行效率高,依賴編譯器,跨平臺性差些。比較有代表性的有C、C++等。
解釋型語言:相對于編譯型語言存在的,源代碼不是直接翻譯成機器語言,而是先翻譯成中間代碼,程序在運行時才翻譯成機器語言,每執行一次都要翻譯一次,因此效率比較低。比較有代表性的包括Java、Python、JavaScript等。
從入門到實戰
因為C++很受歡迎,所以有很多資源可供初學者使用,包括在線教程、網站和書籍。
當決定學習C++或任何其他計算機語言時,你首先要清楚將它用于什么方向、什么崗位。
如果你從事機器學習、深度學習、數據分析這些偏重于算法和分析、對性能不敏感的崗位,你完全可以選擇R或者Python這些語言替代。
但是,如果你從事游戲、系統等對性能有嚴格要求的崗位,C++則是首要的選擇。
那么,你已經準備好進入到C++的學習了嗎?明天的話,我們再正式分享其他知識!
審核編輯 :李倩
-
編程語言
+關注
關注
10文章
1949瀏覽量
34862 -
C++
+關注
關注
22文章
2113瀏覽量
73750 -
python
+關注
關注
56文章
4802瀏覽量
84890
原文標題:【如何系統地學習 C++ 語言】關于C++,有哪些你需要提前知道的知識?
文章出處:【微信號:cyuyanxuexi,微信公眾號:C語言編程學習基地】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論