當前位置:編程學習大全網 - 編程語言 - C++是什麽?

C++是什麽?

C++概述

C++這個詞在中國大陸的程序員圈子中通常被讀做“C加加”,而西方的程序員通常讀做“C plus plus”,“CPP”或者“dev.cpp"。 它是壹種使用非常廣泛的計算機編程語言。C++是壹種靜態數據類型檢查的,支持多重編程範式的通用程序設計語言。它支持過程化程序設計、數據抽象、面向對象程序設計、制作圖標等等泛型程序設計等多種程序設計風格。

C++ 是C語言的壹個高級版本,支持中文,界面高級,不需要啟動母文件即可運行程序。

美國AT&T貝爾實驗室的本賈尼·斯特勞斯特盧普(Bjarne Stroustrup)博士在20世紀80年代初期發明並實現了C++(最初這種語言被稱作“C with Classes”)。壹開始C++是作為C語言的增強版出現的,從給C語言增加類開始,不斷的增加新特性。虛函數(virtual function)、運算符重載(operator overloading)、多重繼承(multiple inheritance)、模板(template)、異常(exception)、RTTI、名字空間(name space)逐漸被加入標準。1998年國際標準組織(ISO)頒布了C++程序設計語言的國際標準ISO/IEC 14882-1998。C++是具有國際標準的編程語言,通常稱作ANSI/ISO C++。1998年是C++標準委員會成立的第壹年,以後每5年視實際需要更新壹次標準,下壹次標準更新將是在2009年,目前我們壹般稱該標準C++0x。遺憾的是,由於C++語言過於復雜,以及他經歷了長年的演變,直到現在(2004年)只有少數幾個編譯器完全符合這個標準(這麽說也是不完全正確的,事實上,至今為止沒有任何壹款編譯器完全支持ISO C++)。

另外,就目前學習C++而言,可以認為他是壹門獨立的語言;他並不依賴C語言,我們可以完全不學C語言,而直接學習C++。根據《C++編程思想》(Thinking in C++)壹書所評述的,C++與C的效率往往相差在正負5%之間。所以有人認為在大多數場合C++ 完全可以取代C語言(然而我們在單片機等需要謹慎利用空間、直接操作硬件的地方還是要使用C語言)。

[編輯本段]子語言

根據Effective C++第三版第壹條款的描述,現在C++由以下四個“子語言”組成:

1、C子語言。C++支持C語言的幾乎全部功能,在語法上與C語言僅有極微妙的差別(如括號表達式的左右值性,具體請參考C++標準文獻)。

2、面向對象的C++。C++首先作為壹門面向對象的語言而聞名,這個特點在這裏不再詳述。

3、泛型編程語言。C++強大(但容易失控的)模板功能使它能在編譯期完成許多工作,從而大大提高運行期效率。

4、STL(C++標準模板庫)。隨著STL的不斷發展,它已經逐漸成為C++程序設計中不可或缺的部分,其效率可能比壹般的naive代碼低些,但是其安全性與規範性使它大受歡迎。

[編輯本段]語言發展

C++語言發展大概可以分為三個階段:第壹階段從80年代到1995年。這壹階段C++語言基本上是傳統類型上的面向對象語言,並且憑借著接近C語言的效率,在工業界使用的開發語言中占據了相當大份額;第二階段從1995年到2000年,這壹階段由於標準模板庫(STL)和後來的Boost等程序庫的出現,泛型程序設計在C++中占據了越來越多的比重性。當然,同時由於Java、C#等語言的出現和硬件價格的大規模下降,C++受到了壹定的沖擊;第三階段從2000年至今,由於以Loki、MPL等程序庫為代表的產生式編程和模板元編程的出現,C++出現了發展歷史上又壹個新的高峰,這些新技術的出現以及和原有技術的融合,使C++已經成為當今主流程序設計語言中最復雜的壹員。

[編輯本段]C++入門

C++是壹種語言,僅僅是它的語法、特性、標準類庫就已經是壹門非常高深的課程,所以在開始學習的時候,必須先要打好基礎。在市面上有很多Visual C++的書,雖然其中可能會花1-2章來介紹C++的基本特性,但是那絕對不會讓妳入門。因此,初學者學習C++應該選擇針對C++語言本身的書籍,而不能是針對Visual C++、MFC或者Windows API的。

學習C++應該由易至難,循序漸進。以前經常有人說學習C++之前應該學習C語言。事實上那不是必須的,C++和C語言雖然有關系,但仍然是兩種不同的語言。當然,在學習C++之前學習過其他編程語言是很有好處的。那會使學習C++的速度更快,畢竟很多計算機語言的概念都是相通的。而對於零基礎的初學者來說,則是應該靜下心來,不要急躁。要成為C++的高手,不是那麽容易的,必須要花很大的努力。

從入門教材的選擇上,主要看學習者的自身情況。如果已經有過學習高級語言的經歷,那麽推薦使用譚浩強的《C++程序設計》。註意是04年版的,06年版的那本書是閹割版,上來就面向對象。雖然說C和C++是相似的,但是前面已經說了,C和C++應該作為兩種語言來學習,所以06年的那本內容就稍微欠缺壹點了。譚浩強04版的這本書內容比較規整的,條理也很清晰。如果有過其他高級語言的基礎,那麽估計半年就能對C++的概況有個了解了。譚浩強老師的書已經成為了全國各大高等院校的教科書,是比較受到認可的。

如果是從零基礎開始學C++,那麽推薦使用潘嘉傑的《易學C++》。這本書是2008年出的新書,聽說是個學生在讀書的時候寫的。這本書網上有下載免費的電子版,不過內容好像不完整。這本書主要就是針對初學者的,講得也比較生動有趣,比較提得起學習的興趣。所以沒有基礎的初學者選這本書也是不錯的,就是想要很快成為高手,可能看這本書還不夠。

  • 上一篇:雲主機的優勢?
  • 下一篇:車床編程如何編程端面銑削
  • copyright 2024編程學習大全網