我在哪里可以find当前的C或C ++标准文档?
对于许多问题,答案似乎在“标准”中find。 但是,我们在哪里发现? 最好在线。
谷歌search有时候会觉得徒劳无功,尤其是对于C标准,因为在编程论坛的讨论洪水泛滥。
为了做到这一点,因为这些是我现在正在寻找的,那里有很好的在线资源:
- C89
- C99
- C11
- C ++ 98
- C ++ 03
- C ++ 11
- C ++ 14
标准的PDF版本
截至2014年9月1日,PDF格式的C和C ++标准文档的最佳价格为:
- C ++ 14 – ISO / IEC 14882:2014: 从ansi.org获得
$ 265$ 133 - C ++ 11 – ISO / IEC 14882:2011:
从ansi.org获得60美元,从Techstreet获得60美元 - C ++ 03 – ISO 14882:2003:
来自ansi.org的$30,来自SAI Global的$ 48 -
C ++ 98 – ISO / IEC 14882:1998: 新西兰标准90美元(约合60美元)
-
C11 – ISO / IEC 9899:2011: 从ansi.org / WG14草案版本N1570获得
$ 30$ 60 - C99 – ISO 9899:1999: 从ansi.org / WG14草案版本N1256获得
$ 30$ 60 - C90 – AS 3955-1991:ansi.org
售价141美元,Techstreet售价175美元 (澳大利亚版C90,与ISO 9899:1990相同) - C90 – 9899:1990 硬拷贝可从SAI Global获得($ 115 +运费)
标准的新版本发布后不久,通常不能直接从标准机构获得标准(任何标准)的旧版本。 因此,C89,C90,C99,C ++ 98,C ++ 03的标准将很难从标准组织购买。 如果你需要一个标准的旧版本,请检查Techstreet作为一个可能的来源。 例如,它仍然可以提供PDF格式的加拿大版本CAN / CSA-ISO / IEC 9899:1990标准,收费。
打印版本的标准
这些标准的打印副本可以从国家标准机构和ISO获得,但是非常昂贵。
如果你想要一个C90标准的硬拷贝比上面less得多的钱,你可能会find一个便宜的旧版本的Herb Schildt的书在亚马逊 注释的ANSI标准 ,其中包含标准的实际文本(有用的)和评论标准(不太有用)。
C99和C ++ 03标准可从Wiley和BSI(英国标准协会)书面获得:
- 亚马逊的C ++ 03标准
- 亚马逊的C99标准
标准委员会草案版本
未来标准的工作草案通常可从委员会网站获得:
- C ++委员会网站
- C委员会网站
请注意,这些文件与标准不一样,尽pipe在决定标准的会议之前的版本通常非常接近最终标准。 FCD(最终委员会草案)版本受密码保护; 你需要在标准委员会得到他们。
但是,在我看来,尽pipe草稿版本可能非常接近最终批准版本的标准,但是您应该真正获得实际文档的副本 – 特别是如果您计划将其引用为引用。 当然,饥饿的学生应该继续前进,如果捆绑现金使用的草稿。
看来,如果你愿意并且能够在批准一个标准后等待几个月,寻找标准时寻找“INCITS / ISO / IEC”而不是“ISO / IEC”是关键。 这样我就能够以合理的价格findC ++ 11标准,现在又可以findC11标准。 因此,作为一个例子,您可以在webstore.ansi.org上search“INCITS / ISO / IEC 9899:2011”,而不是“ISO / IEC 9899:2011”,您将find价格合理的PDF版本。
在线版本的标准可以find:
工作草案,编程语言C ++标准
标准的以下所有草案版本 :
以下所有可免费下载
2017-03-21: N4659 混帐
2017-02-06: N4640 git
2016-11-28: N4618 git
2016-07-12: N4606 git
2016-05-30: N4594 git
2016-03-19: N4582 git
2015-11-09: N4567 git
2015-05-22: N4527 git
2015-04-10: N4431 git
2014-11-19: N4296 git
这似乎是新的标准 :
这些版本需要authentication
2014年 10月7日: N4140 git基本上C + + 14与小错误和错别字纠正
2014-09-02: N4141 git标准C ++ 14
2014-03-02: N3937
2014-03-02: N3936 git
标准的以下所有草案版本 :
以下所有可免费下载
2013-10-13: N3797 git
2013-05-16: N3691
2013-05-15: N3690
2012-11-02: N3485
2012-02-28: N3376
2012-01-16: N3337 git本质上C ++ 11与小错误和错别字纠正
这似乎是新的标准 :
这个版本需要authentication
2011-04-05: N3291 C ++ 11(或非常接近)
标准的以下所有草案版本 :
以下所有可免费下载
2011-02-28: N3242 (与N3291的区别很小)
2010-11-27: N3225
2010-08-21: N3126
2010-03-29: N3090
2010-02-16: N3035
2009-11-09: N3000
2009-09-25: N2960
2009-06-22: N2914
2009-03-23: N2857
2008-10-04: N2798
2008-08-25: N2723
2008-06-27: N2691
2008-05-19: N2606
2008-03-17: N2588
2008-02-04: N2521
2007-10-22: N2461
2007-08-06: N2369
2007-06-25: N2315
2007-05-07: N2284
2006-11-03: N2134
2006-04-21: N2009
2005-10-19: N1905
2005-04-27: N1804
所有以下版本都需要authentication
2004-11-05: N1733
2004-07-16: N1655非官方
2004-02-07: N1577 C ++ 03(或非常接近)
2001-09-13: N1316扩展技术勘误草案
1997-00-00:N1117扩展技术勘误草案
以下所有可免费下载
1996-00-00: N0836扩展技术勘误草案
1995-00-00:N0785信息系统国际标准草案工作文件 – 编程语言C ++
其他有趣的论文:
2017/2016/2015/2014/2013/2012/2011
C99 在线提供 。 引自www.open-std.org :
该标准的最新公开版本是2007年9月7日结合的C99 + TC1 + TC2 + TC3, WG14 N1256 。 这是一份WG14工作文件,但它反映了发布时的综合标准。
链接草案:
C ++ 11 N3337 (或N3242 )
C11 N1570 ( 正文 )
C99 N1256
本标准草案在批准和公布前已经发表评论。
请注意 ,工作草案不是目前生效的标准,并不完全是公布的标准
您可能会发现C ++ 0x 国际标准草案很有用。
国际标准化组织(ISO)的标准从中等金额(对于PDF版本)到更多(对于书本版本)都是要花钱的。
虽然他们还没有最后确定,他们通常可以在网上find,作为草案。 大多数情况下,最终版本与上一次的草稿没有太大的区别,所以虽然不是很完美,但是它们会很好。
- C ++ 0x草案
C99和C ++ 03标准可从Wiley:
- 亚马逊的C ++标准
- C标准在亚马逊
此外,如前所述,未来标准的工作草案通常可从委员会网站获得:
- C ++委员会网站
- C委员会网站
C- 201x草案可用N1336 ,C ++ 0x草案可用N3225 。
ISO C和C ++标准是非常昂贵的。 另一方面,INCITS重新发布了很多。 http://www.techstreet.com/似乎有30美元的PDF(searchINCITS / ISO / IEC 14882:2003)。
硬拷贝版本也可用。 查找由Wiley出版的英国标准学会版本。
实际的标准文件可能不是最有用的。 大多数编译器没有完全实现这些标准,有时可能会发生冲突。 所以你已经拥有的编译器文档将会更有用。 此外,该文档将包含特定于平台的备注和注意事项。
ANSI C标准草案 (又名C.89)的文本可在线获取。 在ISO C标准(C.90)接受之前,ANSI标准委员会对标准进行了标准化,因此各部分的编号有所不同(ANSI第2部分至第4部分大致对应于ISO第5部分至第7部分),但内容是大致相同)。
虽然不是一个实际的标准,但ISO C(C89 / 90)的一个修正称为C94 / 95或规范性附录1.它已被整合到C99中,尽pipe一些编译器如Clang允许你指定-std=c94
命令行。 ISO / IEC 9899:1990 / Amd 1:1995可以从SAI GLOBAL (PDF或纸质版)购买。
文档的摘要可以在这里find。
当1990年通过国际标准(当时的草案)ANSI C标准时,有几个反对意见,因为它没有解决国际化问题。 由于“标准”已经制定了几年,所以一致认为要作出一些修改以提供依据(例如,增加了第7.10.7条中的职能),并且将分别进行工作以提供标准的正确国际化。 这项工作在规范性附录1中达到了高潮。
规范性附录1体现了C对国际字符集的限制和承诺的反应。 Digraphs和头文件是为了改进用ISO 646的国家变体编写的C程序的外观,例如没有{或}字符。 另一方面,这些设施连接到老标准的基础上,并将其扩展到一个完整而一致的处理宽字符和多字节string的工具集。
本文件总结了规范性附录1,旨在快速通知已经熟悉本标准的读者。 它不能也不能把NA1背后的复杂题材介绍出来,也不能把原文作为参考手册。 (尽pipe如此,它尽可能准确,作者想听到任何错误或遗漏。)
http://c0x.coding-guidelines.com/包含C标准的可search的,基于HTML的版本。; 其实,稍微修改一下版本:
本网站包含N1256的修改版本。 它包括已经从C99中删除的措辞(即通过表格)和曾经出现在C99中的措辞(即以下划线的forms)。