C++ 語言歷史
C++ 程式語言的歷史可以追溯到 1979 年,當時 Bjarne Stroustrup 正在為他的博士論文進行研究。他開始著手開發“帶類的 C”(C with Classes),顧名思義,它旨在成為 C 語言的超集。他的目標是將面向物件程式設計引入 C 語言,C 語言因其可移植性而廣受讚譽,並且在不犧牲速度或底層功能的情況下實現了這一點。
除了 C 語言的所有特性外,他的語言還包括類、基本繼承、內聯、預設函式引數和強型別檢查。第一個“帶類的 C”編譯器稱為 Cfront,它源自一個名為 CPre 的 C 編譯器。它是一個旨在將“帶類的 C”程式碼轉換為普通 C 程式碼的程式。
1983 年,該語言的名稱從“帶類的 C”更改為 C++。C 語言中的 ++ 運算子是用於遞增變數的運算子,這讓我們對 Stroustrup 如何看待該語言有所瞭解。大約在這個時期,添加了許多新特性,其中最值得注意的是虛擬函式、函式過載、使用 & 符號的引用、const 關鍵字以及使用兩個正斜槓的單行註釋。
1985 年,C++ 作為商業產品推出。該語言尚未正式標準化。該語言在 1989 年再次更新,其中包括受保護成員和靜態成員,以及來自多個類的繼承。
1990 年,Turbo C++ 作為商業產品釋出。Turbo C++ 添加了許多額外的庫,這些庫對 C++ 的發展產生了相當大的影響。
1998 年,C++ 標準委員會發布了第一個 C++ 國際標準 ISO/IEC 14882:1998,非正式地稱為 C++98。標準模板庫(Standard Template Library)也包含其中,該庫的概念開發始於 1979 年。2003 年,委員會對報告的 1998 年標準中的多個問題做出了回應,並相應地對其進行了修訂。更改後的語言被命名為 C++03。
2011 年年中,新的 C++ 標準(C++11)完成。新特性包括正則表示式支援、隨機化庫、新的 C++ 時間庫、原子操作支援、標準執行緒庫、提供類似於某些其他語言中 for each 迴圈功能的新 for 迴圈語法、auto 關鍵字、新的容器類、對聯合體和陣列初始化列表以及可變引數模板的更好支援。