質問
ISO/IEC 14882:1998として正式に標準化される前に、C ++ 98がANSIの下で書かれていると誰かに言ってもらいました。
ANSIがCに関与していたことは知っていますが、「ANSI C ++」というフレーズがひどく正確であるという証拠の方法で多くを見つけることができないようです。
- 「ANSI C ++」はC ++ 98の良い説明ですか?
- 「ANSI C ++」は、C ++標準の後続バージョンの良い説明ですか?
解決
当初、89年には、C ++の標準化がANSI X3J16によって処理されました。 91年からISO WG21が参加しました。BSを読みたいかもしれません C ++の歴史:1979-1991. 。 IMO、「ANSI C ++」は残りの名前です。 ANSIが標準化に間接的に関与しているにもかかわらず、言語は「ISO C ++」です。
他のヒント
これ gotwページ C ++に関する限り、ANSIとISOの関係について簡単に説明します。
ISOおよび米国委員会の公式名は次のとおりです。
ISO/IEC JTC1/SC22/WG21 -C ++(ISO C ++委員会)
PL22.16 -C ++(「ANSI C ++委員会」と呼ばれることが多い米国C ++委員会)を挿入しますが、より正確にインセットはANSIの一部ではなく、ANSIによって米国の基準を開発するために認定されている別の組織です)(以前は呼ばれています) X3J16およびJ16)
これらの2つのグループは、多くの場合、単数形で「C ++委員会」と呼ばれます。会議は常に同じ部屋に同時にあります
この委員会によって開発されたISO標準が自動的に米国標準になるように聞こえますが、実際にそれらの委員会で働いている人々はよりよく説明できると確信しています。
ある種ですが、実際にはそうではありません。 C ++には別のANSI標準がありませんでした。
ただし、現在の標準は実際にはそうです INCITS/ISO/IEC 14882-2003. 。 2003年の時点で、Incitsは別のANSI認識組織になりました。名前は新しいものではありませんでしたが、以前はANSIの一部でした。 2003年、スピンオフ「別の(ただし、まだ認定されている)組織として。したがって、現在の(2003)標準はIncits/ISO/IEC標準として表示され、今後の(2011)標準もそうなると思います。
C ++ 98は、国際標準化機関(ISO)の一部である国際委員会によって開発されました。 ANSIおよびその他の国家基準機関は、この委員会のメンバーです。国際標準は、ANSIによって米国国家標準として、また同様に他の多くの国家基準機関によって採用されています。
以前のバージョンは、AT&Tによって米国で商業的に開発されました。 ANSIが中間バージョンに関与していたかどうかはわかりません(編集:しかし、Erikの答えは、それが簡単にそうであったことを示唆しています)。
「ANSI C ++」はC ++ 98の良い説明ですか?
現在の標準について話していることが明らかな場合は、「標準C ++」、または「C ++ 98」、または「C ++」と呼びます。技術的には正確ですが、「ANSI C ++」は、それが同じこと、特にANSIが何であるかを知らないかもしれない他の国の人々を意味することを理解していない人々を混乱させるかもしれません。同様に正確な説明である「英国の標準C ++」と呼んだ場合、私はおそらく奇妙な外観を得るでしょう。
「ANSI C ++」は、C ++標準の後続バージョンの良い説明ですか?
同じ答え。 C ++標準はISOによって開発され、ANSIおよびその他の団体で採用されています。
彼らが「ANSI C ++」と言うとき、彼らは本当に「コンパイラ固有の拡張機能なし」を意味します。
ISOワーキングパーティーが標準を作成します。 C ++ 98は、ISO委員会(同じ人々)の後援の下で標準化が行われる前に、アメリカの標準化に関する多くの作業を行っていました(C ++が作成され、その作成者が住んでいた場所)。その後、最終的なISO標準は、ANSIおよびその他の国家基準当局によって採用されました。
私は常に標準C ++を「標準C ++」と呼んでいます。