回覆列表
-
1 # 大學生程式設計指南
-
2 # 焉知魚
應為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和C++相通之處1.兩者都可以操作指標
2.兩種語言都是比較靠近底層的程式語言
3.很多人都覺得這種語言比較難入手
其實就難易而言,C語言相對來講入手比較容易,但是C++不怎麼推薦作為第一門程式語言,學習下常見的語法可以,但涉及到泛型程式設計,初學者基本上要暈菜,半天可能連基本的編譯都摸索不過去。C語言入門相對比較簡單,特別編譯起來C語言顯得簡單了許多,很多函式即使不去宣告,只要在別的檔案裡面有定義,程式就能編譯過去,這在C++顯然不可能發生的事情。
兩者到底存在多大的差異?1.設計思想不同,C語言屬於面向過程的程式語言,更接接近大腦的直接思維模式,也是最原始的程式設計模式,相對來講不太容易形成程式設計框架,C++是唯一的處於底層的面向物件的程式語言,C++設計者想的比較複雜,設計理念是在滿足框架程式設計的基礎上,制定了無數的程式設計規則,來約束某些可能發生的事情,而且C++給人一種永遠學不完的感覺,很少有人敢說精通這門程式語言。
2.相對來講C語言執行效率更高,但現在硬體成本已經壓得非常低了,所以這點效能優勢對於C語言來講不算什麼。
3.C++目前採用面向物件的設計模式,程式碼複用性相比C語言已經強了許多,所以桶效能相比絕大部分人還是選擇設計模式,當然C語言有其獨特的優勢,尤其在驅動開發,以及作業系統底層實現方面。
任何一種都有其存在的必然性,在合適的場景下選擇合適的程式語言,適合自己的就是最好的。