C++发展历史

C++ 语言是从C语言发展而来的。

C语言有很多优点,也有很多不足。如对类型匹配的检查不够严格、基本没有支持代码重用的机制、不支持面向对象等。这使得在用C语言开发大规模的软件时,维护和扩充都比较困难。

1967 年,Simula 语言中第一次出现了面向对象 (OO) 的概念,但由于当时软件规模还不大,技术也还不太成熟,面向对象的优势并未发挥出来。

20世纪70年代中期,Bjarne Stroustrup在剑桥大学计算机中心工作。他使用过Simula和ALGOL,接触过C。他对Simula的类体系感受颇深,对ALGOL的结构也很有研究,深知运行效率的意义。既要编程简单、正确可靠,又要运行高效、可移植,是Bjarne Stroustrup的初衷。以C为背景,以Simula思想为基础,正好符合他的设想。1979年,Bjame Sgoustrup到了Bell实验室,开始从事将C改良为带类的C(C with classes)的工作。

1983 年,“带类的C”加入虚函数、函数和运算符重载、引用等概念后,正式定名为“C++(C plus plus)”。

1985 年,C++ 最权威的著作、由 Bjarne Stroustmp 撰写的《C++程序设计语言》(The C+ + Programming Language)第一版发布。

1989 年,C++ 2.0 版发布,加入了多重继承、抽象类、静态成员、常量成员函数等概念。1990 年,又加入了模板、异常处理、名字空间等机制。

1991年6月, The C++ Programming Language第二版完成。

1994 年,ANSI C++ 标准发布。

1998 年,ANSI(美国国家标准协会)和 ISO(国际标准化组织)联合发布了至今使用最为广泛的 C++ 标准,称为 C++ 98。C++ 98 最为重大的改进就是加入了 “标准模板库”(Standard Template Library, STL),使得“泛型程序设计”成为 C++ 除“面向对象”外的另一主要特点。

2003 年,ISO 的 C++ 标准委员会又对 C++ 略做了一些修订,发布了 C++ 03 标准。C++ 03 和 C++ 98 的区别对大多数程序员来说可以不必关心。

2005 年,一份名为 Library Technical Report 1(简称 TR1)的技术报告发布,为 C++ 加入了正则表达式、哈希表等重要类模板。虽然 TR1 当时没有正式成为 C++ 标准,但如今的许多 C++ 编译器都已经支持 TR1 中的特性。

2011 年 9 月,ISO 通过了新的 C+ + 标准,这就是 C++11。C++11 在酝酿的过程中被称为 C++ 0x,因为 Bjame Stroustmp 原本预计它应该在 2008 年或 2009 年发布。 C++11 对 C++ 的语言特性和标准库都做了比较大的扩充,TR1 中的许多特性正式成为 C++11 标准的一部分。

C++11之后的标准日新月异,程序员们实在是跟不上了,所以根本没有推广开来,C++11成了现今国内流行的开发标准。

我们记住两个关键的时间点即可,98使用最广的C++标准,11 最流行的较新的标准,C++11有望替代98。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 酷酷鲨 设计师:CSDN官方博客 返回首页
实付 9.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值