【C/C++ 标准的发展】C/C++ 语言标准的历史和演变( 二 )


 , 简称ANSI)成立了一个委员会 , 来制定C语言标准 。1989年C语言标准被批准 , 被称为ANSI X3.159-1989
“C” 。这个版本的C语言标准通常被称为ANSI C 。又由于这个版本是
89年完成制定的 , 因此也被称为C89 。
C90
后来ANSI把这个标准提交到ISO(国际化标准组织) , 1990年被ISO采纳为国际标准 , 称为ISO
C 。又因为这个版本是1990年发布的 , 因此也被称为C90 。所以ANSI C、ISO C、C89、C90这4个标准的内容其实是一样的 。
C99
在ANSI C标准确立之后 , C语言的规范在很长一段时间内都没有大的变动 。1995年C程序设计语言工作组对C语言进行了一些修改 , 成为后来的1999年发布的ISO/:1999标准 , 通常被成为C99 。但是各个公司对C99的支持所表现出来的兴趣不同 。当GCC和其它一些商业编译器支持C99的大部分特性的时候 , 微软和却似乎对此不感兴趣 。
C11
在2011年12月 , ANSI采纳了ISO/IEC 9899:2011标准 , 这个标准通常即C11 。
C18
2018年6月发布的ISO/IEC 9899:2018标准 , 这个标准被称为C18 , 是目前最新的C语言编程标准 , 该标准主要是对C11进行了补充和修正 , 并没有引入新的语言特性 。
C2x
下一个版本的C语言标准 , 预计将于2022年12月1日完成/
C++语言的起源
与C语言一样 , C++也是在贝尔实验室诞生的 ,  于20世纪80年代在这里开发出了这种语言 。用他自己的话来说 , “C++主要是为了我的朋友和我不必再使用汇编语言、C语言或者其他现代高级语言来编程而设计的 。它的主要功能是可以更方便地编写出好程序 , 让每个程序员更加快乐” 。
C++语言标准
美国国家标准委员会(ANSI)在1990年成立委员会 , 后来国际化标准组织ISO也通过其委员会加入这个行列 。他们组成ANSI/ISO组织 , 专门致力于制定C++标准 。
C++语言标准的发展阶段 年份C++标准名称
1998
ISO/IEC 14882:1998
C++98
2003
ISO/IEC 14882:2003
C++03
2011
ISO/IEC 14882:2011
C++11
2014
ISO/IEC 14882:2014
C++14

【C/C++ 标准的发展】C/C++ 语言标准的历史和演变

文章插图
2017
ISO/IEC 14882:2017
C++17
2020
ISO/IEC 14882:2020
C++20
2023
Yet to be
C++23
C++语言标准介绍C++98/C++03标准
1998年制定出的第一个C++标准ISO/IEC 14882:1998 。通常被称为C++98 , 它不仅描述了已有的C++特性 , 还对该语言进行了扩展 , 添加了异常、运行阶段识别符(RTTI)、模板和标准模板库(STL) 。
2003年 , 发布了第二个C++标准ISO/IEC 14882:2003 。这个版本的是一次技术性修正 , 对第一版进行了整理、修订错误、减少多义性等 , 但是没有改变语言特性 。这个版本通常被称为C++03 。由于没有改变语言特性 , 一般用C++98表示C++98/C++03 。
C++11标准
ISO标准委员会在2001年8月批准了新的标准C++11 ISO/IEC 14882:2011 。C++11在C++98的基础上增加了许多新特性 。其目标是消除不一致性 , 让C++学习和使用更加容易 。
C++14标准
C++标准第四版 , 2014年8月18日发布 。正式名称为ISO/IEC 14882:2014 。2014年8月18日 , ISO组织在其网站上发布文章称:“C++ 作者称 , 主要的编译器开发商已经实现了C++ 14 规格” 。
C++ 14 是 C++ 11 的增量更新 , 主要是支持普通函数的返回类型推演 , 泛型  , 扩展的捕获 , 对函数限制的修订 , 变量模板化等等 。