C++的历史

来源:互联网 发布:手机2g网络怎么弄成4g 编辑:程序博客网 时间:2024/06/06 18:22

C++的历史可以追溯到1979年,当时Bjarne Stroustrup(译者注:C++之父)正在准备他的博士毕业论文,他有机会使用一种叫做Simula 的语言。顾名思义,Simula语言的主要作用是仿真。Simula 67是Simula语言的一种变种,被公认是首款支持面向对象的语言。Stroustrup发现面向对象的思想对于软件开发非常有用,但是因Simula语言执行效率低,其实用性不强。

不久之后,Stroustrup开始着手“C with Classes”的研发工作,“C with Classes”表明这种新语言是在C基础上研发的,是C语言的超集。C语言以其高可移植性而广受好评,且程序执行速度以及底层函数的性能不受程序移植的影响,Stroustrup要做的就是将面向对象的思想引入C语言。新语言的初始版本除了包括C语言的基本特征之外,还具备类、简单继承、内联机制、函数默认参数以及强类型检查等特性。

Bjarne Stroustrup的第一款“C with classes”编译器叫Cfront,这个名字源自一个叫做Cpre的C编译器。Cfront的机理是把“C with classes”的代码翻译成原生C代码。颇为有趣的一点是Cfront源码大部分是由“C with Classes”编写,这使得Cfront成为了一种自足执行的编译器(可以编译自身源码的编译器)。由于很难整合C++的异常机制,Cfront在1993年退出了历史的舞台,但是它对以后C++编译器以及Unix操作系统的实现都产生了深远的影响。

1983年,“C with Classes”语言更名为C++。C语言中“++”运算子的作用是对一个变量进行递增操作,由此我们多少可以知晓Stroustrup对这种新语言的定位。这个时期,许多重要的特性被加入,其中包括虚函数、函数重载、引用机制(符号为&)、const关键字以及双斜线的单行注释(从BCPL语言引入)。

1985年,Stroustrup的C++参考手册《C++ Programming Language》出版,同年,C++的商业版本问世。由于当时C++并没有正式的语言规范,因此《C++ Programming Language》成了业界的重要参考。1989年,C++再次版本更新,这次更新引入了多重继承、保护成员以及静态成员等语言特性。

1990年,《Annotated C++ Reference Manual》发布,同年,Borland公司的商业版Turbo C++编译器问世。Turbo C++附带了大量函数库,这一举措对C++开发产生了极为深远的影响。虽然Turbo C++上一个稳定的版本发布于2006年,但当前该编译器仍被广泛使用。

1998年,C++标准委员会发布了C++语言的第一个国际标准—ISO/IEC 14882:1998,该标准即为大名鼎鼎的C++98。C++98的提出,《The Annotated C++ Reference Manual》功不可没。同时,1979年开始研发的标准模板库(Standard Template Library,STL)也被纳入了该版标准中。2003年,标准委员会针对98版本中存在的诸多问题进行了修订,修订后发布了C++03。

2005年,C++标准委员会发布了一份技术报告(Technical Report,TR1)详细说明了计划引入C++的新特性。这个新标准被非正式地命名为C++0x,因为其预计会在本世纪第一个十年的某个时间发布。讽刺的是,直到2011年年中该标准才面世,相应的技术文档也随之出炉,一些编译器厂商也开始试验性地支持这些新特性。

2011年中,新的C++标准(C++11)面世。Boost库对该版本影响很大,一些新的模块甚至直接衍生于Boost中相应的模块。一些新的语言特性,包括正则表达式(正则表达式详情)、完备的随机数生成函数库、新的时间相关函数,原子操作支持、标准线程库(2011之前,C和C++语言均缺少对线程的支持)、一种能够和某些语言中foreach语句达到相同效果的新的for语法、auto关键字、新的容器类、更好的union支持、数组初始化列表的支持以及变参模板的支持等等。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 原车挡泥板碎了怎么办 车检通不过的车怎么办 车子被轻微刮了怎么办 车龙门架弯了怎么办 材料合格工地非说不合格怎么办 汽车翼子板撞过弄好缝隙大怎么办 手表秒针摔掉了怎么办 元征升降机泄压怎么办 自拍杆的杆子往下下滑怎么办 小狗被车压了一下拉血怎么办 有鬼给你磕头让你不好怎么办 腿又粗又短怎么办 腿又短又粗怎么办 因跑步小腿变粗怎么办 健身后小腿变粗怎么办 打非洲鼓打的手疼怎么办 无塔供水压力小怎么办 家用增压水塔压力不稳定怎么办 蝴蝶耳堵比较紧怎么办 跑步机踏板坏了怎么办 遥控器电池没电了怎么办 空调遥控器电池没电了怎么办 想要自慰家里没有情趣用品怎么办 对政协提案的答复有意见怎么办 邻居在自建房养殖鳖怎么办 江桥全民健身卡怎么办 南翔全民健身卡怎么办 椭圆机皮带断了怎么办 不小心扭腰了怎么办 扭腰之后腿疼怎么办 扭腰怎么办吃什么补 湖州奥体中心怎么办卡 学车把教练投诉了怎么办 白球鞋鞋边发黄怎么办 公务员体检时心跳过快怎么办 老人心脏跳得慢怎么办 银行月限额10万怎么办 跑步后迎面骨疼怎么办 跑步时迎面骨疼怎么办 爬了楼梯小腿疼怎么办 走路走太多小腿酸痛怎么办