官术网_书友最值得收藏!

1.1 C++簡介

為了讓大家更了解C++語言,在深入學習C++語言之前,先分別介紹C++語言的發展史、特征及應用領域。

1.1.1 C++發展史

語言的發展是一個逐步遞進的過程,C++也一樣,它是從C語言基礎上發展而來的。早期的C語言主要是用于UNIX系統,由于C語言的強大功能和各方面的優點逐漸為人們認識,到了20世紀80年代,C開始進入其他操作系統,并很快在各類大、中、小和微型計算機上得到了廣泛的使用,成為當代最優秀的程序設計語言之一。但隨著C語言應用的推廣,C語言存在的一些弊端也開始顯露出來,比如,C語言對數據類型檢查機制較弱,缺少代碼重用機制,難以適應大型程序開發等。

為了保持C語言簡潔、高效、接近匯編語言的特點,并克服C語言本身存在的缺點,1980年,貝爾實驗室的本賈尼?斯特勞斯特盧普(Bjarne Stroustrup)博士(見圖1.1)對C語言進行改進和擴充,增加了面向對象程序設計的支持。最初的成果稱為new C,后來稱為C with Class,1983年正式取名為C++。經歷了3次修訂后,于1994年制定了ANSI C++標準的草案,以后又經過不斷的完善,成為目前的C++語言。C++語言是同時支持面向過程程序設計和面向對象程序設計的混合型語言,是目前應用最為廣泛的高級程序設計語言之一。

圖1.1 C++之父

為了使C++具有良好的可移植性,C++在1998年獲得了ISO、IEC和ANSI的批準,這是第一個C++的國際標準ISO/IEC 14882:1998,常稱為C++98或標準C++。2003年,標準委員會發布了C++標準第二版(ISO/IEC 14882:2003),該版本沒有對核心語言進行修改,只是對C++98中的部分問題進行了修訂。2011年,新的C++標準ISO/IEC 14882:2011(也稱C++11)面世,增加了多線程支持、通用編程支持等,同時標準庫也發生了很多變化。2014年,C++第四版本ISO/IEC 14882:2014(也稱C++14)發布,這個版本主要對C++11做了小范圍的擴展并修復了一些錯誤(bug)以提高性能。

1.1.2 C++的特征

如果能很好地運用C++,那么程序可以獲得很高的性能,消耗較少的資源。在云計算時代,C++在很多關鍵業務中起到了不可替代的作用。舉個例子,曾有業內專家要在美國服務器上部署一個JSF編寫的網站,安裝GlassFish失敗是因為虛擬機核心線程和進程的總數被限制,只能換成C++編寫的網站。這臺服務器還同時運行著C++編寫的TCP服務程序和NoSQL數據庫??傮w來說,C++語言的主要特征如下:

  • C++是和C同樣高效且可移植的多用途程序設計語言。
  • C++直接和廣泛地支持多種程序設計風格(程序化程序設計、資料抽象化、面向對象程序設計、泛型程序設計)。
  • C++設計無需復雜的程序設計環境。
  • C++語言靈活,運算符的數據結構豐富,具有結構化控制語句,程序執行效率高,而且同時具有高級語言與匯編語言的優點。與其他語言相比,可以直接訪問物理地址,與匯編語言相比又具有良好的可讀性和可移植性。
  • C++語言最有意義的方面是支持面向對象的特征。雖然與C的兼容使得C++具有雙重特點,但它在概念上完全與C不同,更具面向對象的特征。
  • 出于保證語言的簡潔和運行高效等方面的考慮,C++的很多特性都是以庫(如STL)或其他的形式提供的,而沒有直接添加到語言本身。
  • C++引入了面向對象的概念,使得開發人機交互類型的應用程序更為簡單、快捷。很多優秀的程序框架包括Boost、Qt、MFC、OWL、wxWidgets、WTL就是使用C++編寫的。

1.1.3 C++的應用領域

C++語言經過30多年的發展,已經在編程領域占據著舉足重輕的地位,其應用也越來越廣。C++語言的應用主要集中以下幾個領域。

1. 科學計算

科學計算是指為解決科學和工程中的數學問題而利用計算機進行的數值計算。其中FORTRAN與MATLAB是使用最多的兩種語言,但C++語言憑借先進的數值計算庫、泛型編程等優勢在科學計算這一領域也占有一席之地。

2. 操作系統

操作系統的編寫主要是使用C語言完成的,但由于C++語言對C語言的良好兼容性,這使得C++語言也開始在該領域內嶄露頭角。

3. 服務器端開發

服務器端開發要求所用的編程語言必須是高效率的,而使用C++語言開發是個很好的選擇,因為服務器大多是Linux、UNIX等類似操作系統,需要編程者熟悉這些操作系統及網絡編程,而這些知識都離不開C++的支持。

4. 游戲開發

C++憑借先進的數值計算庫與超高的執行效率,在游戲領域發揮著重要作用?;旧纤械木W游(客戶端與服務器端)、PC游戲都是使用C++語言編寫的,比如星際爭霸、魔獸爭霸、魔獸世界等。

除此之外,C++語言還在圖形處理、網絡軟件、分布式應用、移動設備、嵌入式軟件等領域有著重要應用,因此可以說C++是無所不能的。

1.1.4 C++主流開發環境

較早期程序設計的各個階段都要用不同的軟件來進行處理,如先用字處理軟件編輯源程序,然后用鏈接程序進行函數、模塊連接,再用編譯程序進行編譯,開發者必須在幾種軟件間來回切換操作。

現在的編程開發軟件將編輯、編譯、調試等功能集成在一個桌面環境中,這就是集成開發環境,又稱IDE(Integrated Development Environment),大大方便了用戶。

IDE為用戶使用C、C++、Java和Delphi等現代編程語言提供了方便。不同的技術體系有不同的IDE。比如Visual Studio可以稱為C、C++、VB、C#等語言的集成開發環境,所以Visual Studio可以叫作IDE。同樣,Borland的JBuilder也是一個IDE,它是Java的IDE。Eclipse也是一個IDE,可以作為Java語言和C++語言開發環境。下面介紹幾種主流的C++語言開發環境。

1. Code∷Blocks

Code∷Blocks是一個體積小、開放源碼、免費的跨平臺C/C++集成開發環境,它提供了大量的工程模板,支持插件,并且具有強大而靈活的配置功能,是目前主流的開發環境。

2. Microsoft Visual Studio

Microsoft Visual Studio是美國微軟公司推出的集成開發環境。它包括整個軟件生命周期中所需要的大部分工具,如代碼管控工具、集成開發環境等,但軟件體積偏大,目前最新版本為Visual Studio 2017。

3. Eclipse

Eclipse是用于Java語言開發的集成開發環境,現在Eclipse已經可以作為進行C、C++、Python和PHP等眾多語言的開發環境,此外,也可以安裝插件,比如CDT是Eclipse的插件,它使得Eclipse可以作為C/C++的集成開發環境。

4. Vim

Vim是一個功能強大的文本編輯器,它是從Vi編輯器發展過來的,可以通過插件擴展功能來達到和集成開發環境相同的效果。因此,Vim有的時候也被程序員當作集成開發環境使用。

5. Microsoft Visual C++6.0

Microsoft Visual C++6.0簡稱VC 6.0,是微軟于1998年推出的一款C++編譯器,集成了MFC 6.0,包含標準版(Standard Edition)、專業版(Professional Edition)與企業版(Enterprise Edition)。發行至今,一直被廣泛地用于大大小小的項目開發。本書的開發環境為Microsoft Visual C++6.0。

主站蜘蛛池模板: 古浪县| 罗田县| 泰来县| 舒城县| 新乐市| 昂仁县| 上栗县| 喀喇沁旗| 漾濞| 北宁市| 玉林市| 吐鲁番市| 上蔡县| 体育| 孟津县| 福海县| 三都| 东辽县| 靖西县| 丹寨县| 巴彦淖尔市| 古丈县| 都安| 策勒县| 留坝县| 宁河县| 科技| 台南县| 嘉峪关市| 家居| 昂仁县| 邵阳县| 泌阳县| 巨鹿县| 新民市| 丰镇市| 昌江| 揭阳市| 大同市| 布拖县| 海淀区|