當前位置:編程學習大全網 - 編程語言 - C++的難度?

C++的難度?

對於有基礎的來說,並不是很難。

C++是在C語言的基礎上開發的壹種面向對象編程語言,應用廣泛。C++支持多種編程範式 --面向對象編程、泛型編程和過程化編程。最新正式標準C++於2014年8月18日公布。[1] 其編程領域眾廣,常用於系統開發,引擎開發等應用領域,是至今為止最受廣大程序員受用的最強大編程語言之壹,支持類:類、封裝、重載等特性!

計算機誕生初期,人們要使用計算機必須用機器語言或匯編語言編寫程序。世界上第壹種計算機高級語言是誕生於1954年的FORTRAN語言。之後出現了多種計算機高級語言,其中使用最廣泛、影響最大的當推BASIC語言和C語言。BASIC語言是1964年由 Dartmouth 學院 John G. Kemeny 與 Thomas E. Kurtz 兩位教授在FORTRAN語言的基礎上簡化而成的, 適用於初學者設計的小型高級語言;C語言是1972年由美國貝爾實驗室的D.M.Ritchie所開發,采用結構化編程方法,遵從自頂向下的原則。[2] 在操作系統和系統使用程序以及需要對硬件進行操作的場合,用C語言明顯優於其它高級語言,但在編寫大型程序時,C語言仍面臨著挑戰。

1983年,貝爾實驗室的Bjarne Stroustrup在C語言基礎上推出了C++[1] 。 C++進壹步擴充和完善了C語言,是壹種面向對象的程序設計語言。

名稱由來

C++這個名字是Rick Mascitti於1983年中所建議的,並於1983年12月首次使用。更早以前,尚在研究階段的發展中語言曾被稱為“new C”,之後是“C with Class”[3] 。在計算機科學中,C++仍被稱為C語言的上層結構。它最後得名於C語言中的“++”操作符(其對變量的值進行遞增)。而且在***同的命名約定中,使用“+”以表示增強的程序。Stroustrup說:“這個名字象征著源自於C語言變化的自然演進”。

註:C+是壹個和C/C++無關的早期編程語言。

Rick Mascitti在1992年被非正式地問起名字的由來,他表示這是在半開玩笑中說出的。他從沒想過C++會成為這門語言的正式名字。有壹個關於C++名字的笑話,當妳使用後綴++時,賦值發生在加運算之後(因此,它應該是++C,而不是C++,這個笑話是說時下某些程序員還在以使用C的方式使用C++,這通常被壹些權威著作認為是不正確的)。

發展歷史

在“C with Class”階段,研制者在C語言的基礎上加進去的特征主要有:類及派生類、***有和私有成員的區分、類的構造函數和析構函數、友元、內聯函數、賦值運算符的重載等。

1985年公布的C++語言1.0版的內容中又添加了壹些重要特征:虛函數的概念、函數和運算符的重載、引用、常量(constant)等。

1989年推出的2.0版形成了更加完善的支持面向對象程序設計的C++語言,新增加的內容包括:類的保護成員、多重繼承、對象的初始化與賦值的遞歸機制、抽象類、靜態成員函數、const成員函數等。

1993年的C++語言3.0版本是C++語言的進壹步完善,其中最重要的新特征是模板(template),此外解決了多重繼承產生的二義性問題和相應的構造函數與析構函數的處理等。

1998年C++標準(ISO/IEC14882 Standard for the C++ Programming Language)得到了國際標準化組織(ISO)和美國標準化協會(ANSI)的批準,標準C++語言及其標準庫更體現了C++語言設計的初衷。名字空間的概念、標準模板庫(STL)中增加的標準容器類、通用算法類和字符串類型等使得C++語言更為實用。此後C++是具有國際標準的編程語言,該標準通常簡稱ANSI C++或ISO C++ 98標準,以後每5年視實際需要更新壹次標準。

後來又在2003年通過了C++標準第二版(ISO/IEC 14882:2003):這個新版本是壹次技術性修訂,對第壹版進行了整理——修訂錯誤、減少多義性等,但沒有改變語言特性。這個版本常被稱為C++03。[2]

此後,新的標準草案叫做C++ 0x。對於C++ 0x標準草案的最終國際投票已於2011年8月10日結束,並且所有國家都投出了贊成票,C++0x已經毫無異議地成為正式國際標準。先前被臨時命名為C++0x的新標準正式定名為ISO/IEC 14882:2011,簡稱ISO C++ 11標準。C++ 11標準將取代現行的C++標準C++98和C++03。國際標準化組織於2011年9月1日出版發布《ISO/IEC 14882:2011》,名稱是:Information technology -- Programming languages -- C++ Edition: 3。[4-6]

與C的關系

C語言是C++的基礎,C++和C語言在很多方面是兼容的。

C語言是壹個結構化語言,它的重點在於算法與數據結構。C程序的設計首要考慮的是如何通過壹個過程,對輸入(或環境條件)進行運算處理得到輸出(或實現過程(事物)控制)。C++,首要考慮的是如何構造壹個對象模型,讓這個模型能夠契合與之對應的問題域,這樣就可以通過獲取對象的狀態信息得到輸出或實現過程(事物)控制。所以C語言和C++的最大區別在於它們解決問題的思想方法不壹樣。

C++對C的“增強”,表現在六個方面:

(1) 類型檢查更為嚴格。

(2) 增加了面向對象的機制。

(3) 增加了泛型編程的機制(Template)。

(4) 增加了異常處理。

(5) 增加了運算符重載。

(6) 增加了標準模板庫(STL)。

  • 上一篇:微型計算機原理與接口技術的編程題都有哪些?
  • 下一篇:3DSMax如何制作亮木材質的球體?3DSMax制作亮木材質球體的方法
  • copyright 2024編程學習大全網