大學里,學軟件開發的,都面臨着選方向的問題,都要求選一門計算機語言,大多數都會從java,c#和c++,c里面選擇。
無論是c++,c#還是java,歸根到底都是從c語言發展而來的,他們都屬於c語言家族的。
c++在1983年由貝爾實驗室推出。c++是C語言的直接繼承人,面向對象編程的先驅,不是完全的面向對象言語,java是完全的面向對象的語言。c++既保留c語言的靈活性,簡潔高效和接近匯編底層語言等的特點,又增加面向對象等特點。用c++寫的代碼可讀性好,運行效率高。
在c言語的基礎,c++增加下面的內容:
(1)類型檢查更加嚴格
(2)增加了面向對象機制
(3)增加了泛型編程的機制
(4)增加了函數重載和運算符重載。
(5)異常處理機制
(6)標准模板庫STL。
C++兼容里c語言的絕大部分內容,但還是有一些差異的,不兼容的,比如c語言允許從void* 隱式轉化為其他類型的指針,這在c++中是不允許的。
c++的優點:
1.代碼可讀性好。
2.可重用性好。
3.可移植。
4.C++設計成無需復雜的程序設計環境
5.運行效率高,高效安全
6.語言簡潔,編寫風格自由。
7.提供了標准庫stl
8.面向對象機制
9.很多優秀的程序框架包括Boost、Qt、MFC、OWL、wxWidgets、WTL就是使用的C++。
等等
c++的缺點與缺陷:
1.相對java來說,沒有垃圾回收機制,可能引起內存設漏;
2.內容較多較難,學起來相對困難;
等等。
c++更適合大項目,在大項目中c++是其他言語不可比擬的。做較小的項目,性能可能比不上java。