web-dev-qa-db-ja.com

現在のCまたはC ++標準ドキュメントはどこにありますか?

多くの質問に対する答えは「標準」にあるようです。しかし、どこでそれを見つけますか?できればオンライン。

グーグルは、プログラミングフォーラムでの議論の洪水にdrれているため、特にC標準の場合は、役に立たないこともあります。

これを開始するために、これらは私が今探しているものですので、以下のための良いオンラインリソースがあります:

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

標準のPDFバージョン

2014年9月1日の時点で、PDFにあるCおよびC++標準ドキュメントの価格別の最適な場所は次のとおりです。

標準の新しい版がリリースされた直後に、標準の機関から標準の標準リビジョン(標準)を直接取得することは通常できません。したがって、C89、C90、C99、C++ 98、C++ 03の標準は、標準化団体から購入するのが難しいでしょう。標準の古いリビジョンが必要な場合は、1つのソースとして Techstreet を確認してください。たとえば、カナダ版のCAN/CSA-ISO/IEC 9899:1990標準をPDFで有料で提供できます。

標準の非PDF電子版

標準の印刷バージョン

標準の印刷版は、国家標準化団体および ISO から入手できますが、非常に高価です。

上記よりはるかに少ないお金でC90標準のハードコピーが必要な場合は、 Herb Schildt の本の安価な中古コピーを見つけることができるかもしれません Annotated ANSI Standard at Amazon 。これには、標準の実際のテキスト(有用)と標準に関する解説(あまり有用ではありません)が含まれています。

C99およびC++ 03標準は、WileyおよびBSI(British Standards Institute)から書籍形式で入手できます。

標準化委員会のドラフト版

多くの場合、将来の標準のワーキングドラフトは委員会のWebサイトから入手できます。

これらのドキュメントは標準と同じではないことに注意してください。ただし、標準を決定する会議の直前のバージョンは、通常、最終標準の内容に非常に近いものです。 FCD(最終委員会ドラフト)バージョンはパスワードで保護されています。それらを取得するには、標準化委員会に参加する必要があります。

しかし、私の意見では、ドラフトバージョンは標準の最終承認バージョンに非常に近いかもしれませんが、実際のドキュメントのコピーを実際に入手する必要があります-特に参照として引用する場合は。もちろん、飢えている学生は、現金に縛られている場合は、下書きを使用する必要があります。


規格の批准後数ヶ月待っても構わないと思っているなら、規格を探すときに「ISO/IEC」ではなく「INCITS/ISO/IEC」を検索することが重要です。このようにして、C++ 11標準をリーズナブルな価格で見つけることができ、現在はC11標準を見つけることができました。したがって、例として webstore.ansi.org で「ISO/IEC 9899:2011」ではなく「INCITS/ISO/IEC 9899:2011」を検索すると、手頃な価格のPDFバージョン。


サイト https://wg21.link/ は、C++の現在の作業ドラフトとドラフト標準、および委員会のペーパーへのショートURLリンクを提供します。


標準の現在のドラフトは、 Github のLaTeXソースとして維持されています。これらのソースは、 cxxdraft-htmlgen を使用してHTMLに変換できます。次のサイトは、生成されたHTMLページを保持しています。

Tim Song は、生成されたHTMLバージョンとPDFバージョンのNetworking TSおよびRanges TSも維持します。

399
Michael Burr

標準のオンラインバージョンは次のとおりです。

ワーキングドラフト、プログラミング言語C++の標準

次の標準のすべてのドラフトバージョン
以下はすべて無料でダウンロードできます
2019-03-15: N481git
2019-01-21: N48git
2018-11-26: N4791git
2018-10-08: N4778git
2018-07-07: N4762git
2018-05-07: N475git
2018-04-02: N4741git
2018-02-12: N4727git
2017-11-27: N471git
2017-10-16: N47git
2017-07-30: N4687git

これは新しい標準のようです:
これらのバージョンには認証が必要です
2017-03-21: N466 はC++ 17ドラフト標準です

次の標準のすべてのドラフトバージョン
以下はすべて無料でダウンロードできます
2017-03-21: N4659git
2017-02-06: N464git
2016-11-28: N4618git
2016-07-12: N4606git
2016-05-30: N4594git
2016-03-19: N4582git
2015-11-09: N4567git
2015-05-22: N4527git
2015-04-10: N4431git
2014-11-19: N4296git

これは古いC++ 14標準のようです
これらのバージョンには認証が必要です
2014-10-07: N414git 本質的に軽微なエラーとタイプミスを修正したC++ 14
2014-09-02: N4141git 標準C++ 14
2014-03-02: N3937
2014-03-02: N3936git

次の標準のすべてのドラフトバージョン
以下はすべて無料でダウンロードできます
2013-10-13: N3797git
2013-05-16: N3691
2013-05-15: N369
2012-11-02: N3485
2012-02-28: N3376
2012-01-16: N3337git 本質的に軽微なエラーとタイプミスを修正した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: N309
2010-02-16: N3035
2009-11-09: N30
2009-09-25: N296
2009-06-22: N2914
2009-03-23: N2857
2008-10-04: N2798
2008-08-25: N272
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: N17
2004-07-16: N1655 非公式
2004-02-07: N1577 C++ 03(または非常に近い)
2001-09-13: N1316 Draft Expanded Technical Corrigendum
1997-00-00:N1117ドラフト拡張技術正誤表

次の標準のすべてのドラフトバージョン
以下はすべて無料でダウンロードできます
1996-00-00: N0836 Draft Expanded Technical Corrigendum
1995-00-00:N0785情報システムの国際標準案案のワーキングペーパー-プログラミング言語C++

その他の興味深い論文:

2019 / 2018 / 2017 / 2016 / 2015 / 2014 / 201 / 2012 / 2011

410
Martin York

C99は オンラインで利用可能 です。 www.open-std.org から引用:

標準の最新の公開バージョンは、C99 + TC1 + TC2 + TC3を組み合わせたものです。 WG14 N1256 、日付は2007-09-07です。これはWG14ワーキングペーパーですが、発行時の統合基準を反映しています。

63
Frederico

下書きリンク:

C++ 11(+編集上の修正):N3337 HTMLPDF

C++ 14(+編集上の修正):N4140 HTMLPDF

C11 N157テキスト

C99 N1256

ドラフト 規格は、批准と公開の前にコメントのために回覧されます。

作業中のドラフトは現在有効な標準ではなく、公開されている標準ではないこと

23
user1055604

C++ 0xの 国際規格案 が役立つかもしれません。

12
James Hopkin

ISO標準には、中程度の金額(PDFバージョンの場合)からもう少し(書籍版の場合)の費用がかかります。

ただし、最終決定はされていませんが、通常はドラフトとしてオンラインで見つけることができます。ほとんどの場合、最終バージョンは最後のドラフトとそれほど違わないため、完全ではありませんが、うまくいきます。

9
Pieter

C99およびC++ 03標準は、Wileyから書籍形式で入手できます。

さらに、既に述べたように、将来の標準のワーキングドラフトは、委員会のWebサイトから入手できます。

C-201xドラフトは N1336 として、C++ 0xドラフトは N3225 として入手できます。

6

ISO CおよびC++標準は非常に高価です。一方、INCITSはそれらを再発行するための費用を大幅に削減しています。 http://www.techstreet.com/ には、30ドルのPDFがあるようです(INCITS/ISO/IEC 14882:2003を検索してください)。

ハードコピー版も利用可能です。 Wileyが公開しているBritish Standards Instituteのバージョンを探してください。

3
MSalters

ANSI C標準のドラフト (別名C.89)のテキストはオンラインで入手できます。これは、ISO C規格(C.90)で承認される前にANSI委員会によって標準化されたため、セクションの番号は異なります(ANSIセクション2から4は、ISOセクション5から7にほぼ対応します)ほぼ同一)。

3
jxh

実際の標準文書は、最も有用ではない場合があります。ほとんどのコンパイラは標準を完全には実装しておらず、実際に競合する場合があります。そのため、既にお持ちのコンパイラーのドキュメントがより便利になります。さらに、ドキュメントには、プラットフォーム固有の注釈と警告に関するメモが含まれます。

2
Kris Kumler

実際の標準ではありませんが、ISO 94(C89/90)にはC94/95、または規範補遺1と呼ばれる修正があります。これはC99に統合されましたが、 Clang などの一部のコンパイラはコマンドラインで-std=c94を指定します。 ISO/IEC 9899:1990/AMD 1:1995は、 SAI GLOBAL (PDFまたはハードから多額の価格で購入できますコピー)。

ドキュメントの要約は here にあります。

(当時の)ANSI C規格が1990年に国際規格の採用を検討されていたとき、国際化の問題に対処しなかったため、いくつかの異議がありました。基準はすでに数年間作成されていたため、基礎を提供するためにいくつかの変更が行われ(たとえば、7.10.7節の機能が追加された)、提供するために個別に作業が行われることに合意しました。規格の適切な国際化。この作業は、規範補遺1で頂点に達しました。

規範的補遺1は、国際文字セットの制限と約束の両方に対するCの反応を体現しています。ダイグラフとヘッダーは、ISO 646の各国語版で記述されたCプログラムの外観を改善するためのもので、たとえば{または}文字はありません。スペクトルのもう一方の端では、ファシリティは、古い標準のほとんど適切なベースに接続し、拡張して、ワイド文字およびマルチバイト文字列を処理するための完全で一貫したユーティリティのセットに拡張します。

この文書は、規範的補遺1を要約したものです。これは、すでに標準に精通している読者に迅速に通知することを目的としています。 NA1の背後にある複雑な主題を紹介したり、リファレンスマニュアルとして元の文書を置き換えることはできません。 (それにもかかわらず、それは可能な限り正確にしようとします、そして、その作者はどんな誤りまたは省略についても聞きたいです。)

1
user3920237