在哪里可以找到最新的C或C ++标准文档?

依然范特西╮ 提交于 2020-02-26 00:42:54

对于许多问题,答案似乎可以在“标准”中找到。 但是,我们在哪里找到呢? 最好在线。

有时,谷歌搜索有时会感到徒劳,尤其是对于C标准,因为它们淹没在编程论坛上的讨论中。

首先,由于这些是我现在正在搜索的内容,因此在哪里有不错的在线资源:

  • C89
  • C99
  • C11
  • C ++ 98
  • C ++ 03
  • C ++ 11
  • C ++ 14

#1楼

草案链接:

C ++ 11(+版本修复):N3337 HTMLPDF

C ++ 14(+版本修复):N4140 HTMLPDF

C11 N1570文字

C99 N1256

在批准和发布之前,将标准草案分发以征求意见。

请注意 ,工作草案不是当前有效的标准,也不完全是已发布的标准


#2楼

可以在线获得ANSI C标准草案 (又名C.89)的文本。 尽管在内容上(假设为),但在ISO C标准(C.90)接受之前,这已由ANSI委员会标准化,因此各节的编号不同(ANSI第2至4节大致对应于ISO第5至7节)。大致相同)。


#3楼

http://c0x.coding-guidelines.com/包含C标准的基于HTML的可搜索版本。 实际上,是一个稍微修改的版本:

该网站包含N1256的修改版本。 它包括已从C99中删除的措辞(即以删除线的形式)和曾经出现在C99中的措辞(即以下划线的形式)。


#4楼

尽管不是实际标准,但对ISO C(C89 / 90)进行了修订,称为C94 / 95或标准附录1。尽管某些编译器(例如Clang)允许您在-std=c94上指定-std=c94 ,但它已集成到C99中。命令行。 可以从SAI GLOBAL以高价购买ISO / IEC 9899:1990 / Amd 1:1995(PDF或印刷本)。

可以在此处找到该文档的摘要。

当ANSI C标准(当时的草案)在1990年被考虑采用国际标准时,由于它没有解决国际化问题而引起了一些反对。 由于该标准已经制定了几年,因此同意对基础进行一些更改(例如,添加了第7.10.7节中的功能),并且将单独进行工作以提供基础。标准的适当国际化。 这项工作在规范性附录1中达到了高潮。

规范性附录1体现了C对国际字符集的局限性和承诺的反应。 图和标头旨在改善用ISO 646的国家变体编写的C程序的外观,而无需使用{或}字符。 另一方面,这些设施与旧标准的勉强充分的基础相连并扩展到了一套完整而一致的实用程序集,用于处理宽字符和多字节字符串。

本文档概述了规范性附录1。其目的是为了快速告知已经熟悉该标准的读者。 它不会也不能介绍NA1背后的复杂主题,也不能代替原始文档作为参考手册。 (尽管如此,它尝试尽可能地准确,其作者希望听到任何错误或遗漏。)


#5楼

该标准的在线版本可以找到:

工作草案,C ++编程语言标准

以下是该标准的所有草案版本
以下所有内容均可免费下载
2019-10-08: N4835 git
2019年8月15日: N4830 混帐
2019-06-17: N4820 git
2019-03-15: N4810 git
2019-01-21: N4800 git
2018-11-26: N4791 git
2018-10-08: N4778 git
2018-07-07: N4762 git
2018-05-07: N4750 git
2018-04-02N4741 git
2018-02-12N4727 git
2017-11-27: N4713 git
2017-10-16: N4700 git
2017-07-30: N4687 git

这似乎是新标准:
这些版本需要身份验证
2017-03-21: N4660是C ++ 17草案标准

以下是该标准的所有草案版本
以下所有内容均可免费下载
2017-03-21: N4659 git
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

这似乎是旧的C ++ 14标准
这些版本需要身份验证
2014-10-07: 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,已纠正一些小错误和错别字

这似乎是旧的C ++ 11标准
此版本需要身份验证
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

这似乎是旧的C ++ 03标准:
以下所有版本都需要身份验证
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 ++

其他有趣的论文:

2019年 / 2018年 / 2017年 / 2016年 / 到2015年 / 2014年 / 2013年 / 2012年 / 2011年

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!