【问题标题】:How many versions of the C++ Standards are there?C++ 标准有多少个版本?
【发布时间】:2011-04-25 19:39:52
【问题描述】:

在 C 中有 C89、C99 和 C11; C++呢?出道后有升级吗?

【问题讨论】:

  • 其实,C 有更多的版本。例如 ISO C90,它非常非常接近 ANSI C89,还有“C94”——不是一个完整的标准,而是一个规范性附录。
  • @MSalters:出于兴趣,C89和C90有什么区别?我从来没有直接从出版商那里得到比较。我认为这基本上只是一个新的介绍,也许是重新编号的页面 - 有任何技术差异吗?
  • @Steve Jessop:我也不知道技术差异;如果因为重新编号而引用章节和诗句,请小心。
  • ANSI 和 ISO C 的区别都是基于非规范的内容和章节编号,iirc。此外,还有 C99 的各种技术勘误。
  • C89 由 ANSI 发布。 C90 由 ISO 发布,描述的语言完全相同。根据 ISO 规则,他们添加了一些前文并重新编号。 C89 第 3 节和第 4 节(语言和库)分别是 C90 第 6 节和第 7 节。 ISO C99 使用与 ISO C90 相同的顶级部分编号。 ANSI发布后正式采用ISO C90标准;那时 ANSI C89 已过时。 ANSI 也采用了 ISO C99 标准,正式使 C90 过时。

标签: c++ standards c++-faq


【解决方案1】:
  • C++98 (ISO/IEC 14882:1998) 是第一版。

  • C++03 (ISO/IEC 14882:2003) 是第二版,通常被认为是一个错误修复,但它有 many changes

  • C++11是第三版。

  • C++14 是第四版。

  • C++17 是最新版本(截至 2017 年)。

您可以download标准和草案的PDF。

【讨论】:

  • C++03 与 C++98 几乎相同,但它并不是一个新标准,而是前一个标准的服务包:)
  • @Armen :是的,C++03 中的大部分内容都类似于 C++98。但是 C++03 和 98 之间有一些区别,例如:值初始化(在 C++03 中)。
  • 如果您想将链接添加到答案中:C++03, C++0x FCD
  • 如果您在 C++ 行中包含 C++03(这只是一个技术勘误),您必须在 C 行中包含除 C99 之外的 C07、C05(以及其他我不知道的其他内容) )。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-08
  • 1970-01-01
  • 2022-06-16
  • 2013-07-03
相关资源
最近更新 更多