关键词

C++ 11是什么,C++ 11标准的由来

C++ 这门编程语言的历史可以追溯至 1979 年,当时的 Bjarne Stroustrup(C++ 之父,后续简称 Stroustrup)还在使用 Simula 语言进行开发工作。



图 1 C++之父,Bjarne Stroustrup


Simula 语言被认为是第一个面向对象的编程语言。Stroustrup 也非常赞赏 Simula 语言的这种特性,但由于实例开发中 Simula 语言的执行效率太低,所以此后不久,Stroustrup 开始从事“带类的C”编程语言的开发工作。
不仅如此,Stroustrup 还在 CPre(C语言编译器)的基础上,专门为“带类的C”开发了一个编译器,称为 Cfront,它可以将带有类的 C 代码自动转换为普通 C 语言程序。值得一提的是在 1993 年,Cfront 因难以支持 C++ 异常机制被弃用。

1983 年,“带类的C”正式被称为“C++”,其中“++”就取自 C 语言中的“++”运算符,这也从侧面表明了 Stroustrup 对于 C++ 这门编程语言的定位。 与此同时,C++还增添了很多功能,比如虚函数、函数重载、引用、const 关键字以及 // 注释符号等。 直到 1998 年,C++ 标准委员会发布了第一版 C++ 标准,并将其命名为 C++ 98 标准。据不知名人士透露,《带注释的C++参考手册》这本书对 C++ 98 标准的制定产生了很大的影响。

经过作者的不断迭代,一本书往往会先后发布很多个版本,其中每个新版本都是对前一个版本的修正和更新。C++ 编程语言的发展也是如此。截止到目前(2020 年),C++ 的发展历经了以下 3 个个标准:
  • 2011 年,新的 C++ 11 标准诞生,用于取代 C++ 98 标准。此标准还有一个别名,为“C++ 0x”;
  • 2014 年,C++ 14 标准发布,该标准库对 C++ 11 标准库做了更优的修改和更新;
  • 2017 年底,C++ 17 标准正式颁布。
值得一提的是在 C++ 11 标准之前,C++ 标准委员会还在 2003 年对 C++ 98 标准做了一次修改(称为 C++ 03 标准),但由于其仅仅修复了一些 C++ 98 标准中存在的漏洞,并未修改核心语法,因此人们习惯将这次修订和 C++ 98 合称为 C++98/03 标准。

以上 3 个标准中,相比对前一个版本的修改和更新程度,C++ 11 标准无疑是颠覆性的,该标准在 C++ 98 的基础上修正了约 600 个 C++ 语言中存在的缺陷,同时添加了约 140 个新特性,这些更新使得 C++ 语言焕然一新。读者可以这样理解 C++ 11 标准,它在 C++ 98/03 标准的基础上孕育出了全新的 C++ 编程语言,造就了 C++ 新的开始。

那么,C++ 11 标准到底包含哪些新特性呢?别急,接下来会分篇给大家做详细地讲解。

本文链接:http://task.lmcjl.com/news/18556.html

展开阅读全文