6

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

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

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

我找到了几个网站:

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


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

除了最终标准/报告之外,所有 C++ 委员会文件都是免费公开的,包括所有工作草案,其中许多与已发布的标准非常接近。2012 年 1 月的工作草案包含 C++11 标准以及少量的编辑更改。

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


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

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

4

3 回答 3

17

2018 年更新:C++ 标准在GitHub 上维护。你可以在这里找到几年前的旧工作草案档案。


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

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

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

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

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

于 2013-06-21T02:43:27.823 回答
1

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

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

希望这可以帮助!

于 2013-06-21T02:17:47.380 回答
1

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

如果您正在使用该语言进行认真的专业工作,那么值得付出代价。如果您想了解该语言的具体技术细节,请使用其中一份草稿。

于 2013-06-21T02:18:19.550 回答