ISO(International Organization for
Standardization)正式宣布C语言新的国际规范草案。在此以前被命名称为C1X的新规范将被叫作ISO/IEC
9899:2011。新的正规化修正了C11本子,升高了对C++的包容性,并将新的性格增至C语言中。

C++编制程序语言走到后天一度有接近40年的野史了,那么大家即日就来探访这一个发展历程,看我们从一代又一代的C++规范之中能觉察怎么秘密啊!大家走进C++的世界······

不等版本标准差异总计(图片源于:

新效率包蕴扶助二十四线程, 基于ISO/IEC TR
19769:2004行业内部下扶助Unicode,提供越多用于查询浮点数类型天性的宏定义和静态注明功效。依据草案明确,最新发表的正规草案修定了无数特色,协理当前的编写翻译器。

C++的野史足以追溯到1977年,那时Bjarne
Stroustrup(译者注:C++之父)正在预备他的大学子结束学业随想,他有机会使用一种叫做Simula
的语言。以文害辞,Simula语言的主要作用是虚伪。Simula
67是Simula语言的一种变种,被公众认为是首个款式支持面向对象的言语。Stroustrup发现面向对象的思维对于软件开采极度常有用,但是因Simula语言推行成效低,其实用性不强。

澳门新葡萄京官网注册 1

今年10月份,ISO
ITTF(Information
Technology Task Force)最早接班最后草案检查核对,对此未刊出任何批评。
该草案的改过是依据2011年6月因此的N1570
draftPDF。

火速事后,Stroustrup初阶入手“C with Classes”的研究开发职业,“C with
Classes”申明这种新语言是在C根基上研究开发的,是C语言的超集。C语言以其高可移植性而广受美评,且程序奉行速度以至底层函数的性质不受程序移植的震慑,Stroustrup要做的正是将面向对象的沉凝引进C语言。新语言的启幕版本除了包蕴C语言的基本特征之外,还具备类、轻松世袭、内联机制、函数暗中认可参数以至强类型检查等特征。

以下为转发:

英语出自:h-online.com

Bjarne Stroustrup的首先款“C with
classes”编译器叫Cfront,那么些名字源自一个名称叫Cpre的C编写翻译器。Cfront的机理是把“C
with
classes”的代码翻译成原生C代码。颇为有意思的少数是Cfront源码超越1/4是由“C
with
Classes”编写,那使得Cfront成为了一种自足实施的编写翻译器(能够编写翻译本人源码的编写翻译器)。由于很难整合C++的要命机制,Cfront在1995年退出了历史的戏台,不过它对现在C++编写翻译器以至Unix操作系统的落到实处都发生了深切的熏陶。

【K&R C】 一九七九 年,Dennis Ritchie 和 Brian Kernighan 同盟推出了《The
C Programming
Language》的第一版(根据惯例,优异作品一定有简单称谓,该小说简称为
K&Koleos卡塔尔国,书末的参照指南 (Reference ManualState of Qatar 一节给出了立即 C
语言的全部定义,成为那个时候 C 语言事实上的标准,大家称为 K&R
C。从这个时候以往,C 语言被移植到了种种机型上,并饱受了广泛的援助,使 C
语言在顿时的软件开拓中大约一齐天下。

(文/csdn)    

1982年,“C with
Classes”语言更名字为C++。C语言中“++”运算子的作用是对贰个变量实行依次增加操作,由此大家稍事能够知晓Stroustrup对这种新语言的固定。这几个时代,大多主要的特点被投入,当中满含虚函数、函数重载、引用机制、const关键字以致双斜线的单行注释(从BCPL语言引进)。

【C89 (ANSI C)】澳门新葡萄京官网注册 , 随着 C
语言在四个领域的放大、应用,一些新的风味不断被各样编写翻译器实现并增多进去。于是,创立贰个新的“无歧义、于现实平台非亲非故的
C 语言定义” 成为越来越首要的作业。1984 年,ASC X3(ANSI
属下特别担负音讯技能标准化的机关,现已更名称为INCITS卡塔尔创立了多少个特意的手艺委员会 J11(J11 是委员会编号,全称
X3J11卡塔尔,担任起草关于 C 语言的标准草案。一九九〇 年,草案被 ANSI
正式通过成为美利坚合众国江山标准,被称为 C89 标准。 

壹玖捌贰年,Stroustrup的C++参谋手册《C++ Programming
Language》出版,同年,C++的小买卖版本问世。由于当下C++并未正规的言语专门的学问,由此《C++
Programming
Language》成了产业界的重要参照。一九八七年,C++再度版本更新,本次更新引进了多种继承、珍重成员以至静态成员等语言特征。

【C90 (ISO C)】 随后, 《The C Programming
Language》第二版开头出版发行,书中剧情据说 ANSI C(C89卡塔尔(قطر‎进行了更新。1990年,在 ISO/IEC JTC1/SC22/WG14 (ISO/IEC 联合技术第 I 委员会第 22
分委会第 14 工作组卡塔尔国 的努力下,ISO 批准了 ANSI C 成为国际标准。于是
ISO C(又称为 C90)
诞生了。除了标准文书档案在印制编排上的某个细节分化外,ISO C(C90State of Qatar 和 ANSI
C(C89卡塔尔国 在技能上别无二致。 

1990年,《Annotated C++ Reference
Manual》发布,同年,Borland公司的买卖版Turbo C++编写翻译器问世。Turbo
C++附带了多量函数库,这一行径对C++开采产生了极为深刻的震慑。纵然Turbo
C++上二个安定的版本公布于二零零六年,但前段时间该编译器仍被广大应用。

【C95】 之后,ISO 在 壹玖玖伍、1998 年 分别出版了 C90
的技能考订文书档案,校订了部分印制错误,并在1992 年通过了一份 C90
的本领增补,对 C90 进行了一线的扩展,经过增加后的 ISO C 被称之为 C95。 

一九九七年,C++标准委员会发表了C++语言的首先个国际标准—ISO/IEC
14882:1998,该规范即为远近出名的C++98。C++98的建议,《The Annotated C++
Reference Manual》功不可没。同临时候,1978年初步研究开发的行业内部模板库(Standard
Template
Library,STL)也被归入了该版标准中。二零零一年,典型委员会本着98本子中设有的大多主题材料进行了修正,修定后公布了C++03。

C99 1999 年,ANSI 和 ISO 又通过了新式版本的 C
语言标准和工夫匡正文书档案,该标准被称为 C99 。那差十分的少是当下关于
C 语言的新型、最上流的概念了。 

二零零六年,C++规范委员会发表了一份才干报告(Technical
Report,TTiguan1)详细表达了安排引进C++的新脾性。那些新专门的职业被非正式地命名称为C++0x,因为其预测会在本世纪首先个十年的某部时刻公布。讽刺的是,直到2013年年中该标准才现身,相应的本领术文化书档案也任何时候出炉,一些编写翻译器厂家也起始试验性地协理这一个新特征。

    以后,各样 C 编写翻译器都提供了 C89(C90)的全体帮衬,对 C99 还只提供了有个别帮衬,还或然有局地提供了对少数 K&凯雷德 C
风格的支撑。  

二〇一一年中,新的C++规范面世。Boost库对该版本影响超级大,一些新的模块以致平素衍生于Boost中相应的模块。一些新的言语特色,包蕴正则表明式、完善的轻便数生成函数库、新的年华相关函数,原子操作扶助、规范线程库(2012此前,C和C++语言均缺乏对线程的扶助)、一种能够和少数语言中foreach语句达到同等功效的新的for语法、auto关键字、新的容器类、越来越好的union援救、数组早先化列表的扶助以致变参模板的协理等等。

脚下重大的C语言标准有c89(c90State of Qatar,
c95(94State of Qatar和c99。C89是最先的C语言规范,于89年提议,90年先由美利哥国度标准局推出ANSI版本,后来被接受为ISO国际标准 (ISO/IEC
9899:1987卡塔尔(قطر‎,由此有的时候也称之为c90。但在94和96年分别对c90进行了一次错误修正,gcc辅助的是校订后的c89(90卡塔尔国版本的C语言规范。在95年提议过对90版正式的修定案,称为
C95要么AMD1。gcc也匡助c95标准。最新的贰回C标准修正在99年拟订(ISO/IEC
9899:1999),即常称的C99规范。在2001年对C99的大错特错实行了改良,gcc援助的修正后的c99规范,不过到近期停止,gcc还不曾旗开得胜对c99正规的完全扶持。

2016年二月16日,经过C++规范委员投票,C++14规范得到相似通过。C++14专门的学业是‘
ISO/IEC 14882:二零一四 Information technology — Programming languages —
C++’ 的简单称谓。在行业内部职业通过事情发生早前,原名C++1y。C++14正规的委员会草案N3690于2011年四月17日刊载。草案文书档案经过一定的文字润色和修改之后,将要年内交给给ISO作为正式的C++规范发表。

另附:C语言源点

C++17 是继 C++14 之后,C++ 编程语言 ISO/IEC
标准的下一遍修定的脱离生产名称。而就在2017-12-5,ISO C++ 委员会职业宣布了
C++ 17 规范,官方名字为 ISO/IEC 14882:2017。基于 C++ 11,C++ 17 意在使
C++
成为两个不那么丰腴复杂的编制程序语言,以简化该语言的日常使用,使开辟者能够更简便易行地编写和维护代码。

      【源点】 C 语言最先的原型是 ALGOL 60 壹玖陆叁 年,牛津大学将其发展变成CPL(Combined Programing Language卡塔尔(قطر‎。 一九六七 年,洛桑联邦理工高校的 Matin Richards对 CPL 语言进行了简化,发生了 BCPL 语言。 1968 年,美利坚合众国Bell实验室(BellLabs卡塔尔国的 Ken 汤普森 将 BCPL 进行了改善,并取名为做 B 语言,意思是提取
CPL 的精粹(Boiling CPL down to its basic good featuresState of Qatar。并用 B
语言写了第2个 UNIX 系统。 1972 年,AT&T 贝尔实验室的 Dennis
Ritchie(D.M.凯雷德ITCHIE卡塔尔 在 BCPL 和 B 语言的底蕴上兼顾出了一种新的言语,取
BCPL 中的第二个字母为名,那正是引人瞩目标 C 语言。随后不久,UNIX
的根本(Kernel卡塔尔国 和应用程序全体用 C 语言改写,自此,C 语言成为 UNIX
碰着下行使最普及的主流编制程序语言。

C++20我们都了然将在面世了!然而具体音讯我们照旧要等合法发布,大家静候喜信吧!相信不会让大家大失所望的!

 

参谋文献:

[1] 维基百科ANSI C

[2] C语言的种种本子:C89,英特尔1,C99,C11
【推荐阅读】