C++语言的起源

 与C语言一样,C++也是在贝尔实验室诞生的,Bjarne Stroustrup于20世纪80年代在这里开发出了这种语言。用他自己的话来说,“C++主要是为了我的朋友和我不必再使用汇编语言、C语言或者其他现代高级语言来编程而设计的。它的主要功能是可以更方便地编写出好程序,让每个程序员更加快乐”。

C++语言标准

 美国国家标准委员会(ANSI)在1990年成立委员会,后来国际化标准组织ISO也通过其委员会加入这个行列。他们组成ANSI/ISO组织,专门致力于制定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++ 作者 Bjarne Stroustrup 称,主要的编译器开发商已经实现了 C++ 14 规格”。C++ 14 是 C++ 11 的增量更新,主要是支持普通函数的返回类型推演,泛型 lambda,扩展的 lambda 捕获,对 constexpr 函数限制的修订,constexpr变量模板化等等。C++14是C++语言的最新标准,正式名称为”International Standard ISO/IEC 14882:2014(E) Programming Language C++”。C++14旨在作为C++11的一个小扩展,主要提供漏洞修复和小的改进。C++14标准的委员会草案(Committee Draft)N3690于2013年5月15日发表。工作草案(Working Draft)N3936已于2014年3月02日完成。最终的投票期结束于2014年8月15日,结果(一致通过)已于8月18日公布。

C++17标准

 C++17 是继 C++14 之后,C++ 编程语言 ISO/IEC 标准的下一次修订的非正式名称。而就在昨日,ISO C++ 委员会正式发布了 C++ 17 标准,官方名称为 ISO/IEC 14882:2017。基于 C++ 11,C++ 17 旨在使 C++ 成为一个不那么臃肿复杂的编程语言,以简化该语言的日常使用,使开发者可以更简单地编写和维护代码。

C++20标准

 下一代开发中的标准。