C++
 Computer >> コンピューター >  >> プログラミング >> C++

C++のバージョン一覧|C++98から最新規格までの違いをわかりやすく解説

C++プログラミング言語には、数多くのバージョン(規格)が存在します。これらのバージョンは、言語の開発を統括するISO C++コミュニティが策定した標準仕様に基づいて、各コンパイラベンダーが実装したものです。

C++の主なバージョン

  • C++98(ISO/IEC 14882:1998)― 最初の国際標準規格となる初版。
  • C++03(ISO/IEC 14882:2003)― 第2版。C++98の不具合を修正したマイナーアップデート。
  • C++11 ― 第3版。auto、ラムダ式、ムーブセマンティクスなど大規模な機能追加が行われ、「Modern C++」の幕開けとなった重要な規格。
  • C++14 ― 第4版。ジェネリックラムダや変数テンプレートなど、C++11を洗練させた改良版。
  • C++17 ― 第5版。構造化束縛、std::optional、std::variantなどの便利な機能を導入。
  • C++20 ― コンセプト、Ranges(範囲ライブラリ)、コルーチン、モジュールなど、言語に大きな変革をもたらした規格。
  • C++23 ― std::printやstd::expectedなど、さらなる利便性向上を目指して策定された最新世代の規格。

バージョン間の主な違い

これらのバージョンの違いは、主に標準ライブラリの追加APIの拡張にあります。また、古い機能の非推奨化(deprecation)によって、APIに差異が生じることもあります。新しい規格ほど利用できる機能が豊富になる一方、過去のコードとの互換性には注意が必要です。

公式仕様の確認・入手方法

各バージョンの詳細な仕様は、ISOの公式サイト https://isocpp.org/ で確認できます。すべての仕様書ドラフトは同サイトから無料でダウンロード可能です。

さらに、現在策定中のドラフトに対しては、GitHubリポジトリ https://github.com/cplusplus/draft を通じてコメント(フィードバック)を投稿することもできます。言語の進化に興味がある方は、ぜひ一度覗いてみてください。

  1. C++における定数とは?constキーワードの基本をわかりやすく解説

    C++に定数専用の型は存在しないC++には、定数専用の特別なデータ型は存在しません。代わりに、C++で扱えるあらゆるデータ型(int、double、char など)を、const キーワードを使って定数として宣言することができます。const キーワードを使って変数を定数として宣言すると、その変数の値は初期化以降変更できなくなります。つまり、一度値を設定したら、後から再代入したり、演算によって値を書き換えたりすることは一切できません。コード例以下の例では、int 型の変数 i を const キーワードで定数として宣言しています。宣言後に値を変更しようとする操作はすべて不正であり、コンパイルエ

  2. C++の演算子の種類を徹底解説!算術・関係・論理・ビット演算子の使い方まとめ

    C++には多くの種類の演算子(オペレーター)が用意されています。これらは大きく分けて、算術演算子、関係演算子、論理演算子、ビット演算子、代入演算子、そしてその他の演算子に分類できます。この記事では、それぞれの演算子の役割と具体的な使用例をわかりやすく解説します。算術演算子(Arithmetic Operators)変数Aが10、変数Bが20という値を持っていると仮定します。演算子説明+加算:2つのオペランドを足し合わせます。例:A + B → 30-減算:第1オペランドから第2オペランドを引きます。例:A - B → -10*乗算:2つのオペランドを掛け合わせます。例:A * B → 200/