2011-11-27 7 views
19

C++ 03はではなく、というC++ 98のテクニカル正誤表ですが、私はそれがWG21ページにあったと信じています。 C++標準。C++ 03はC++標準の新しいバージョンか、C++ 98の技術的正誤表(TC)だけですか?

しかし、GCCなどのコンパイラでは-std=c++98スイッチしか表示されず、Alf P Steinbach氏はfew commentsということで、実際にはC++ 98のTCかもしれないと示唆しています。

私は「C++ 03」について書いていますが、C++ 98に言及するだけで十分ですか?関連する質問として、も間違っていますか? "C++ 03"という用語を使用していますか?本当にC++ 98 TC1だと思うので、C++ 03とは言えません。私が今まで誰かがC997のためにC07を書くのを見たことがないのと同じように。

+1

なぜこれは実際に問題になるのですか? – Mat

+5

@Mat正しいテキストを書いています。 –

+2

ISO/IEC 14882:2003はISO/IEC 14882の第2版であり、前者は14882:1998である。どちらも公開され、ANSIで承認された標準です。 2003年のフォワードによれば、「この第2版は、第1版を取り消し、置き換えます...」 – Mat

答えて

7

はい、いいえ。

C++ 03(ISO C++ 14882:2003)はそれ自体の標準であり、C++ 98だけが修正されたため、「ちょうど」TC1でもあります。

C++ 98は、C++ 98が意図していたものだと言えるでしょう。 ISO/IEC 14882の初版は、技術正誤表は2003年に承認された1998年に出版された

“、:the committee's own words

。標準は2003年版として再び出版されました。 ”

文字通り余分な期間が引用されています。 Wikipediaの言葉(権限はありませんが、それ’が悪い場合には、固定されなければならない)で

:標準の公式リリース後に、いくつかの年間

“、委員会は、欠陥レポートを処理し、およびC++標準、ISO/IEC 14882の修正バージョンを公開し:値の初期化は新しいものだったこと、しかし、主張するかもしれない2003年”

一つで、2003年だけではなく、COR反抗。そして、技術矯正医自体が矯正のみで構成されていたのに対し、矯正標準は別のもの、新しい基準であると主張するかもしれない。これらのポイントは、文脈に依存しない絶対的なステートメントではありませんが、文脈上は理解しています。

+0

委員会は、TCはTCとして承認したが、isoはTC以外の新しい規格を作ったと述べている。 –

+0

@Johannes:いいえ、彼らは「非TC」とは言いません。 C++ 03は、死んだツリー版の裏表紙の言葉では、「技術的正誤判定1を組み込んだ完全な現在の国際C++標準/技術的にBS ISO/IEC 14882:2003(第2版)です。 (ANSIのような)標準規格の唯一の利用可能なバージョンです。 "私はそこにあるBSが何を意味するのかは分かりません。 –

+0

@ AlfP.Steinbach:英国規格。 BSiは唯一の標準化団体であり、デッドツリーエディションAFAIKを公開しています。 –

2

全く新しいスタンダードです。私はそれがをちょうどTCとして始めたと信じています。それが混乱の原因です。確かに事実上バグ修正リリースです。しかし、に変更されました。あなたは98または03について話しているかどうかを知る価値があります。

+1

"しかし、変更があり、あなたが98または03について話しているかどうかを知る価値があります。" – akappa

+1

@akappa: 'std :: vector'は、03で始まる要素が連続していることだけを必要としました。私はそれが大したことではないという意見に同意する。 C++ 98の動作が何であるかを気にしている人は、すでにそれを指定するべきであることを知る立場にあるでしょう。誰かが "C++"について尋ねるのはおそらく実用的な答えを探しているので、現在の標準の動作とそのコンパイラがサポートするものを知りたがっています。私たちは現在C++ 11上にいるので、C++ 98は事実上そのような疑問に対して無関係です。 – GManNickG

+1

@GManNickG質問は、C++ 03とC++ 98の両方について明示的に質問しています。この区別は、無関係なものではありません - 従来のソフトウェアyadda yadda。 –

関連する問題