【问题标题】:Which PDF of the C++ ISO standard should I read? [duplicate]我应该阅读 C++ ISO 标准的哪个 PDF? [复制]
【发布时间】:2013-06-18 01:55:42
【问题描述】:

有时,我想自己从 C++ 标准中搜索答案。阅读标准可能有助于我大致了解所提出的语言原则。

通过搜索互联网,我被大量的 C++ 论坛和帮助网站弄糊涂了。他们提供各种PDF文件供阅读。

我不知道应该采用哪个 PDF 文件和/或哪个版本。

我找到了几个网站:

我想知道是否有一个网站发布了该标准。解决问题时应该参考哪个版本?有人说 C++98,有人说 C++11,甚至是最新的工作草案。 (很多草稿让我很困惑)。


编辑
我从The Standard 找到了一个有用的信息,其中写道:

除最终标准/报告外,所有 C++ 委员会 文件可免费公开获得,包括所有工作草案, 其中许多非常接近公布的标准。一月 2012 工作草案包含 C++11 标准和次要社论 变化。

2012 年 1 月的工作草案是 N3337
希望这对你们有帮助。


编辑
来自Wiki C++11,它写道:

与已发布的 C++11 标准最相似的工作草案是 N3337,日期为 2012 年 1 月 12 日;它只有 C++11 标准的编辑更正。

【问题讨论】:

  • 你用的是什么编译器?
  • @stark- 这与这里有什么关系?
  • @stark 我同时使用 VC++ 和 G++。 C++ 标准依赖于编译器,尽管有时不同的编译器会有不同的反应。但是,我认为基本原则相似。
  • @templatetypedef 你认为他使用的是 C++98 还是 C++11 编译器没有关系?
  • @stark- 这很有意义。我没有意识到您在谈论编译器支持的 C++ 版本。感谢您的澄清!

标签: c++ standards iso


【解决方案1】:

2018 年更新:C++ 标准在 GitHub 上维护。你可以找到几年前的an archive of old working drafts here


官方 C++11 标准 INCITS/ISO/IEC 14882:2011 可在at ansi.org 购买,价格为 30 美元。您可以通过搜索例如 Google 旧标准14882:2003 并寻找 PDF。我不确定下载它们是否“合法”,所以如果你这样做,一定要为此感到难过。

在发布标准之前,委员会会维护标准文档的工作草案,其中包含引入时的所有修订。该工作草案最终被投票通过成为标准,之后在作为标准发布之前只进行了微小的编辑更改。

工作草案 - 以及相当多的其他文件 - 由委员会发布为一系列编号的文件,并且除了最终批准的标准草案之外, 除外。 ISO 规则将最新修订版“保密”,这样人们就可以为标准付费,而这笔钱可用于资助 ISO 实际所做的组织工作。

不想为标准付费的人使用工作草案的最终公开副本作为参考,因为它通常与标准文档相同,模数我之前提到的细微编辑更改。对于 C++11,最后的草稿是 N3242 - Working Draft, Standard for Programming Language C++。第一个工作草案之后 C++11 N3337 可能更准确地反映了最终标准(我懒得比较)。

C++1y 当前的工作草案是N3690 - Programming Language, C++。如果你真的很铁杆,你可以在Github跟踪当前草稿的编辑repo。

【讨论】:

  • 我下载了 N3690 pdf 文件。它被称为委员会草案(CD)工作草案委员会草案有什么区别吗?
  • C++11 的最新工作草案是 n3291,它无法访问(可能太接近最终的 ISO 版本)。他们推荐 n3337 作为 C++11 参考。
【解决方案2】:

C++11 的官方 ISO 标准是 ISO/IEC 14882:2011,C++03 的官方 ISO 标准是 ISO/IEC 14882:2003。您通常需要付费才能获得这些文件的副本(据我所知,这是唯一合法的方式),这些是官方文件。

C++98 是该语言的旧版本,于 2003 年被 C++03 取代,主要是对文档的小错误修复和调整。 C++11 是最新的 C++ 标准,于 2011 年发布。编译器支持仍在进行中。您所指的草案是定期发布的标准草案版本,可能与最终发布的版本不同。工作文件主要是对 ISO 小组审议的文件的建议,但不是官方的。

希望这会有所帮助!

【讨论】:

    【解决方案3】:

    好吧,您可以从 ISO 购买官方标准(正如您所链接的那样)。最新的工作草案足以满足我的目的(我没有实现编译器、链接器、库或词法分析器)。

    如果您正在使用这门语言从事严肃的专业工作,那么值得为此付费。如果您想了解该语言的具体技术细节,请使用其中一份草稿。

    【讨论】:

      猜你喜欢
      • 2021-10-31
      • 1970-01-01
      • 1970-01-01
      • 2014-03-07
      • 1970-01-01
      • 2011-06-19
      • 1970-01-01
      • 1970-01-01
      • 2023-04-06
      相关资源
      最近更新 更多