- 相關推薦
C語言和C++有什么關系
C語言和C++到底有什么關系?顧名思義,C++是在C的基礎上增加新特性,玩出了新花樣,所以叫”C Plus Plus“,就像 iPhone 7 和 iPhone 6、Win10 和 Win7 的關系。下面具體分析,一起來看看。
C++ 讀作”C加加“,是”C Plus Plus“的簡稱。
顧名思義,C++是在C的基礎上增加新特性,玩出了新花樣,所以叫”C Plus Plus“,就像 iPhone 7 和 iPhone 6、Win10 和 Win7 的關系。
C語言是1972年由美國貝爾實驗室研制成功的,在當時算是高級語言,它的很多新特性都讓匯編程序員羨慕不已,就像今天的Go語言,剛出生就受到追捧。C語言也是”時髦“的語言,后來的很多軟件都用C語言開發,包括 Windows、Linux 等。
但是隨著計算機性能的飛速提高,硬件配置與幾十年前已有天壤之別,軟件規模也不斷增大,很多軟件的體積都超過 1G,例如 PhotoShop、Visual Studio 等,用C語言開發這些軟件就顯得非常吃力了,這時候C++就應運而生了。
C++ 主要在C語言的基礎上增加了面向對象和泛型的機制,提高了開發效率,以適用于大中型軟件的編寫。
C++和C的血緣關系
早期并沒有”C++“這個名字,而是叫做”帶類的C“。
”帶類的C“是作為C語言的一個擴展和補充出現的,目的是提高開發效率,如果你有Java Web開發經驗,那么你可以將它們的關系與 Java 和 JSP 的關系類比。
這個時期的C++非常粗糙,僅支持簡單的面向對象編程,也沒有自己的編譯器,而是通過一個預處理程序(名字叫 cfront),先將C++代碼”翻譯“為C語言代碼,再通過C語言編譯器合成最終的程序。
隨著C++的流行,它的語法也越來越強大,已經能夠很完善的支持面向對象編程和泛型編程。
但是一直也沒有誕生出新的C++編譯器,而是對原來C編譯器不斷擴展,讓它支持C++的新特性,所以我們通常稱為C/C++編譯器,因為它同時支持C和C++,例如 Windows 下的微軟編譯器(cl.exe),Linux 下的 GCC 編譯器。
也就是說,你寫的C、C++代碼都會通過一個編譯器來編譯,很難說C++是一門獨立的語言,還是對C的擴展。
C++是在C語言的基礎上進行的擴展,C++包含了C語言的全部內容。下圖展示了它們之間的關系:
圖:C語言和C++的關系
關于C++的學習
從“學院派”的角度來說,C++支持面向過程編程、面向對象編程和泛型編程,而C語言僅支持面向過程編程。
就面向過程編程而言,C++和C幾乎是一樣的,所以學習了C語言,也就學習了C++的一半,不需要從頭再來。
沒有任何編程基礎的讀者,建議先從C語言學起,不要貪多嚼不爛。等你熟悉了C語言,能編寫出上百行的代碼,就對編程有些概念了,這個時候再去了解C++究竟在C語言基礎上增加了什么,你就站在了一定的高度。
有編程基礎的讀者,相信你自己能做出正確的判斷。
【C語言和C++有什么關系】相關文章:
C語言和C++的分別11-26
C++、C語言和JAVA開發的區別03-19
淺談c語言和c++和VB的區別04-02
C++、C語言和JAVA開發有哪些區別03-01
C/C++內存管理12-04
Java與C/C++的區別06-18
C++調用C函數的方法11-15
C++類的轉換12-11
c++快速排序詳解03-19