C++:C++语言的历史发展

从1983年诞生至今,C++经历了多次重大更新,包括C++98、C++03、C++11、C++14、C++17至最新的C++20标准。每次更新都引入了新特性,提升了编程效率和多线程支持,反映了社区的需求和技术进步。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如下为自1998年,首个C++标准发行以来的各个版本,C++17 的下一个版本是将在2020年发行的C++20

YearC++ Standardname
1998ISO/IEC 14882:1998C++98
2003ISO/IEC 14882:2003C++03
2011ISO/IEC 14882:2011C++11, C++0x
2014ISO/IEC 14882:2014C++14, C++1y
2017ISO/IEC 14882:2017C++17, C++1z
2020to be determinedC++20

C++(C Plus Plus)是由比雅尼·斯特劳斯特鲁普博士(Bjarne Stroustrup)在贝尔实验室工作期间在20世纪80年代发明并实现的。一开始,C++还不叫C++,而是被称为”c with classes”,这叫做“带类的C”。直至1983年,C++才从原名”c with classes”改为C++。从名字来看,C++在最开始可以称作C语言的增强版,因为其是在C语言的基础上开发出来的,是C语言的超集,同时,还参考了许多其他语言的特性,如Simula中的类概念,Algo168的运算符重载、引用及可在任意地方声明变量的特性,BCPL的“//”注释和Ada语言的模板、命名空间以及Ada、Clu和ML中的异常概念等。C++与C语言相比,效率不相上下,大概保持在±5%左右。可以说C++既可用于面向过程的结构化程序设计,又可用于面向对象的程序设计,是一种功能强大的混合型的程序设计语言,而C只是面向过程的语言。

1983年之后,C++的使用者呈爆炸式增长。传统的面向用户遇到的问题及基于同事间讨论的演化方式已无法满足需求,迫切需要对C++语言进行标准化。1989年,《The Annotated C++ Reference Manual》发布,成为C++标准(C++ Standard)的基础。同年12月,ANSI的X3J16委员会成立并在华盛顿召开第一次技术会议,ANSI C++标准的制定开始提上日程。1991年7月ANSI C++标准化成为ISO标准化工作的一部分。1995年4月,C++标准草案提交公众审阅,1998年ISO C++标准通过ISO评审成为国际标准,称作C++98.

1998年,C++标准委员会发布了C++ ISO/IEC 14882:1998的第一个国际标准,也就是所谓的C++ 98。而注释的C++参考手册,即《The Annotated C++ Reference Manual》对标准的开发无疑有很大的影响。标准模板库从1979年开始概念开发,也包括在内。2003年,委员会对1998年标准报告的多个问题作出了回应,并对其进行了相应的修订。更改后的语言被称为C++ 03,此版本并没有对核心语言进行修改。

2005年,C++标准委员会发布了一份技术报告(TR1),详细描述了他们计划添加到最新的C++标准中的各种特性。新标准被非正式地称为C++ 0x,因为它预计将在二十一世纪的第一个十年结束前的某个时候发布。然而,具有讽刺意味的是,新标准要到2011年年中才会发布。在此之前发布了一些技术报告,一些编译器开始为新特性添加实验支持。

2011年年中,新的C++标准(被称为C++ 11)完成。Boost库项目对新标准产生了相当大的影响,一些新模块直接来自相应的Boost库。一些新特性包括正则表达式支持(正则表达式的细节可以在这里找到),一个全面的随机化图书馆,一个新的C++库,原子的支持,一个标准的线程库(直到2011 C和C++都缺乏),一个新的循环语法提供功能类似于某些其他语言的foreach循环,auto关键字,新的容器类,更好地支持union联合体和数组初始化列表,和可变模板。总体而言,此版本增加了多线程支持,通用编程支持等,标准库也有很多变化,集成了C++技术报告1库(TR1)中的大部分内容。

2014年12月15号,发布了一个C++标准版本C++14。C++14是对C++11的小范围的扩展,主要内容是修复bug和略微提高性能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值