我应该阅读哪个C ++ ISO标准的PDF?

时间:2013-06-21 02:09:53

标签: c++ standards iso

有时候,我想自己从C ++标准中搜索答案。阅读标准可能有助于我对所提出的语言原则进行概述。

通过搜索互联网,我对C ++论坛和帮助网站充满了困惑。它们提供各种PDF文件供阅读。

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

我找到了几个网站:

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


修改
我从The Standard找到了一个有用的信息,写道:

  

除了最终标准/报告外,所有C ++委员会   文件可自由公开,包括所有工作草案,   其中许多与公布的标准非常接近。一月   2012年工作草案包含C ++ 11标准和次要编辑   变化。

2012年1月的工作草案 N3337 希望这能帮到你们。


修改
来自Wiki C++11,它写道:

  

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

3 个答案:

答案 0 :(得分:13)

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

<小时/> 30美元的官方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跟踪编辑对当前草稿的回购。

答案 1 :(得分: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小组审议的文件的提案,但不是官方文件。

希望这有帮助!

答案 2 :(得分:1)

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

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