文章目录
C++是一门面向对象编程语言,属于C语言的一个超集,支持多种编程范式:面向过程,基于对象,面向对象,泛型编程,元编程,被广泛视为最出色的大规模应用构建语言。
人物
Bjarne Stroustrup(本贾尼·斯特劳斯特卢普博士,1950年出生于丹麦,先后毕业于 丹麦奥胡斯大学和英国剑桥大学,曾担任AT&T大规模程序设计研究部门负责人,AT&T、贝尔实验室和ACM成员,德州农工大学计算机系首席教授,德州农工大学“杰出教授”。
历史
- 1967年,Simula语言中第一次出现了面向对象(OO)的概念。
- 1979年,Bjarne Stroustrup借鉴Simula中的“Class”概念,开始研究增强C语言,使其支持面向对象的特性。
- 1979年4月,贝尔实验室的Bjarne Stroustrup(本贾尼·斯特劳斯特卢普)博士等人负责分析UNIX内核,但当时没有合适的工具能够有效地分析由于内核分布而造成的网络流量,将内核模块化,因此他们的工作进展缓慢。1979年10月,Bjarne Stroustrup为C语言增加了类似于Simula语言的类机制并设计开发了一个预处理器Cpre,来处理这些添加的元素和C语言的对应。在这个过程中,Bjarne Stroustrup产生了创建一门新语言的想法,这就是C++语言的萌芽。
- 1980年,C++的早期版本诞生,称作带类的C(C with Classes)。
- 1983年,12月,Rick Mascitti建议将带类的C命名为C++(C Plus Plus)。
- 1985年
- 2月,C++ Release E发布。
- 10月,CFront的第一个商业发布,CFront Release 1.0。
- 10月,Bjarne Stroustrup出版了《The C++ Programming Language》第一版,这时C++已经开始受到关注,Bjarne Stroustrup被称为C++之父。
- 1986年,11月,C++第一个商业移植CFront 1.1,Glockenspiel。
- 1987年
- 2月, CFront Release 1.2发布。
- 11月,第一个USENIX C++会议在新墨西哥州举行。
- 1988年,10月,第一次USENIX C++实现者工作会议在科罗拉多州举行。
- 1989年
- 12月,ANSI X3J16在华盛顿组织会议。负责C++标准化的ANSI X3J16挂牌成立。
- C++ Release 2.0发布。它引入了多重继承、抽象类、静态成员函数、常数成员函数及成员保护等新特性。C++中面向对象的思想更加成熟。
- 1990年
- 3月,第一次ANSI X3J16技术会议在新泽西州召开。
- 5月,Bjarne Stroustrup出版了《The Annotated C++ Reference Manual》(简称ARM),由于当时还没有C++标准,ARM成了事实上的标准。
- 7月,Template(模板)加入到了C++,使C++具备了泛型编程(Generic Programming)。
- 11月,Exception(异常)加入到了C++中,使C++具备了运行期错误处理方式。
- 1991年
- 6月, The C++ Programming Language第二版完成。
- 6月, 第一次ISO WG21会议在瑞典召开。
- 10月,CFront Release 3.0发布。
- 1993年
- 3月,在俄勒冈州加入运行时类型识别(RTTI)。
- 7月,在德国慕尼黑加入名字空间(Namespace)。
- 1994年
- 8月,ANSI/ISO委员会草案登记。
- Bjarne Stroustrup出版了《The Design and Evolution of C++》(简称D&E)。这时STL(标准模板库)的建议草案被提交到标准委员会,对STL标准化的讨论又一次推迟了C++标准的出台。
- 1997年
- 7月,《The C++ Programming Language》第三版完成。
- 10月,ANSI批准C++语言成为美国国家标准。
- 1998年,11月,ISO批准C++语言成为国际标准。同年,C++0x公开,它是目前计划中的C++编程语言的新标准,将取代现行的C++标准ISO/IEC 14882。
- 2003年,在官方公布1998标准的5年之后,C++标准委员会处理缺陷报告,并于2003年发布了一个C++标准的修正版本,称为C++03。新的标准包含了核心语言的新功能,同时扩展了C++标准程序库,合并了大部分的C++ Technical Report 1程序库。
- 2005年,公布一份名为Library Technical Report 1(简称TR1)的技术报告。虽然它不属于官方标准,但它所提出的几个扩展建议有望成为新C++标准的一部分。目前,几乎所有流行的C++编译器都已经支持TR1。
- 2008年10月,C++0x的最新报告N2800公开。
编译器
- 1985年
- 10月,Cfront Release 1.0发布。
- 1987年
- 12月,GNU C++发布。
- 1988年
- 1 月,第一个Oregon Software C++发布。
- 6 月,第一个Zortech C++发布。
- 1990年
- 5 月,第一个Borland C++发布。
- 1992年
- 2 月,第一个Dec C++发布。
- 3 月,第一个Microsoft C++发布。
- 5 月,第一个IBM C++发布。
标准
C++98(1.0)
标准C++,传统C++
C++03(错误修正版)
C++11(2.0)
现代C++