1979年4月,貝爾實驗室的Bjarne Stroustrup
(本賈尼·斯特勞斯特盧普)博士等人負責分析UNIX
內核,但當時沒有合適的工具能夠有效地分析由於內核分佈而造成的網絡流量,將內核模塊化,因此他們的工作進展緩慢。1979年10月,Bjarne Stroustrup
爲C語言增加了類似於Simula
語言的類機制並設計開發了一個預處理器Cpre
,來處理這些添加的元素和C語言的對應。在這個過程中,Bjarne Stroustrup
產生了創建一門新語言的想法,這就是C++
語言的萌芽。
1980年,C++
的早期版本誕生,稱作帶類的C(C with Classes
)。1983年Rick Mascitti
建議將帶類的C命名爲C++
(C Plus Plus
),從此,C++
作爲一個優秀的程序設計語言被廣爲人知。C++
是在C
語言的基礎上開發出來的,是C
語言的超集,同時參考了很多其他語言的特性,例如Simula
中的類概念,Algol68
的運算符重載、引用及在任何地方聲明變量的特性,BCPL
的//
註釋和Ada
語言中的模板、命名空間以及Ada
、Clu
和ML
中的異常概念,它既具有C語言的高效性和靈活性,也提供了程序組織的高層特性。
1983年之後,C++使用的爆炸式增長。傳統的面向用戶遇到的問題及基於同事間討論的演化方式已無法滿足需求,迫切需要對C++語言進行標準化。1989年,《The Annotated C++ Reference Manual》發佈,成爲C++標準的基礎。同年12月,ANSI的X3J16委員會成立並在華盛頓召開第一次技術會議,ANSI C++標準的制定開始提上日程。1991年7月ANSI C++標準化成爲ISO標準化工作的一部分。1995年4月,C++標準草案提交公衆審閱,1998年ISO C++標準通過ISO評審成爲國際標準,稱作C++98.
2003年,C++標準委員會對C++98中的問題進行了修訂,發佈了C++03版本,該版本並沒有對核心語言進行修改。2011年,新的C++標準C++11面世,增加了多線程支持、通用編程支持等,標準庫也有很多變化,集成了C++技術報告1庫(TR1)中的大部分內容。2014年12月15號,C++ ISO/IEC標準的最新版本C++14。C++14是對C++11的小範圍的擴展,主要內容是修復bug和略微提高性能。
參考文獻
- Bjarne Stroustrup著,裘宗燕譯. C++程序設計語言(特別版).機械工業出版社 2009.
- http://zhidao.baidu.com/link?url=eLW5nMUN3ljGPGVb9q63VeQJ1Xkxsk3Iuy4m3iiF3GHBfQhIE6mwpZYWz0wZIovjnV0iFZGEepT1-jMJNcMw5q
- http://www.howzhi.com/course/3687/lesson/43412
- http://blog.jobbole.com/64349/
- https://en.wikipedia.org/wiki/C%2B%2B03
- https://en.wikipedia.org/wiki/C%2B%2B14
- https://en.wikipedia.org/wiki/C%2B%2B#Standardization