Bjarne Stroustrup在AT&T貝爾實驗室設計並實現了c++,試圖通過提供麵向對象的方法來改進C語言。c++在1985年首次商用,而泛型編程結構在1987-1989年左右被添加到語言中。c++的正式標準化始於1990年,由美國國家標準協會(ANSI)指導,後來由國際標準組織(ISO)指導,並於1998年形成了國際標準。此後,我們將按照確定的周期對語言進行定期修訂。作者設計c++的唯一目的是為係統編程提供C語言的靈活性和效率,以及Simula的麵向對象編程工具。c++的設計目的是讓嚴肅的程序員更享受編程。c++被設計為一種比C語言更好的通用編程語言,它集數據抽象、麵向對象編程、泛型編程和係統編程於一身。c++主要是針對那些從事實際項目的程序員。
c++的發展是由實際問題驅動的。c++設計沒有任何對完美的追求。在這裏,每個特性都必須有一個合理明顯的實現,並且對每種受支持的樣式都有足夠的支持。c++的目標是通過更好的設計和更易於使用和負擔得起的編程技術來提高程序的質量。c++的設計有一個強烈的願望,即高度兼容C語言,不妥協的效率,麵向對象的方法和即時的現實世界的實用性。
c++從一開始就與C兼容,除了一些小細節外,c++是C的超集。這意味著c++程序員立即擁有了一套完整的語言和工具集。然而,與C的向後兼容給c++留下了一些語法和語義上的怪癖。例如,C聲明器語法遠非優雅,內置類型之間的隱式轉換規則也很混亂。從C遷移到c++的程序員不理解這樣一個事實,即代碼質量的根本改進隻能通過對編程風格進行根本改變來實現。
c++在許多領域得到了廣泛的應用,例如以下領域:
係統和應用程序開發c++被用於開發幾乎所有的主要操作係統,如Windows, Mac OSX和Linux。許多驅動程序和中間件都是用c++編寫的。它在應用方麵也作出了同樣的貢獻。許多瀏覽器(如Mozilla Firefox和Chrome)的核心部分都是用c++編寫的。在MySQL數據庫中也使用了c++。最新的是c++被用於許多基於機器學習和AI的模型(特別是圖像處理)。
編程語言開發c++已被用作許多新編程語言的開發基礎,如c#、Java、JavaScript、Perl、UNIX的C Shell、PHP和Python、Verilog等。
科學與數值編程c++因其速度快、計算效率高而被廣泛應用於科學計算。
遊戲開發c++是麵向對象的,速度非常快。這使得程序員能夠為多玩家遊戲引擎的CPU密集型功能編寫程序代碼。c++還提供了對硬件更好的控製。
嵌入式係統c++被大量用於開發醫療和工程應用程序,如MRI機器軟件,高端CAD/CAM係統等。
c++是一個完全麵向對象的編程,它的框架基於OOPS的四個支柱,即封裝、抽象、繼承和多態性。標準c++語言由以下三個重要部分組成:
- 核心語言包括所有的構建模塊,包括變量、常量、數據類型、類、操作符等。
- The C++ Standard Library it includes complete set of methods to work on streams, files, strings, sockets etc.
- The Standard Template Library or STL it gives tools set to use advanced data structures such as vectors and templates.