C++ バージョンを確認する
この記事では、長年にわたる C++ バージョンを示し、コンパイラーが使用する C++ 標準のバージョンの確認について説明します。
C++ プログラミング言語は、ニュージャージー州ベル研究所のコンピューターサイエンティストである BjarneStroustrup によって設計および開発されました。彼は、すべての機能を備えた C に似た柔軟で動的な言語を望んでいました。
それでも、アクティブな型チェック、基本的な継承、デフォルトの機能引数などの追加により、C with Classes
(C++)がリリースされました。
C++ のバージョン
C++ の最新バージョンは C++20 です。これは、C++17 のより新しくより洗練されたバージョンです。
2019 年の調査によると、C++ は Java と C に次ぐ 3 番目に人気のあるプログラミング言語です。すべての功績は C++ 11 バージョンにあり、かなり堅牢で、安全で、アクセスしやすく、わかりやすく、表現力に優れています。
長年にわたってリリースされたさまざまな C++ バージョンは次のとおりです。
C++ バージョン | 説明 |
---|---|
C++ 98(ISO/IEC14882:1998) | 1998 年 10 月にリリースされた C++ の最初のバージョン。 |
C++ 03(ISO/IEC14882:2003) | このバージョンの C++ では、値の初期化が 2003 年 2 月に導入されました。 |
C++ 11 | 2011 年 8 月にリリースされました。この改訂版の C++ では、ラムダ式、委任コンストラクター、統一初期化構文、自動型推論、nullptr 、decltype 、右辺値参照などが導入されました。 |
C++ 14 | 2014 年 8 月にリリースされました。このバージョンで追加された機能は、ポリモーフィックラムダ、数字区切り文字、一般化ラムダキャプチャ、変数テンプレート、バイナリ整数リテラル、引用符付き文字列などの導入でした。 |
C++ 17 | 2017 年 12 月にリリースされました。フォールド式、16 進浮動小数点リテラル、u8 文字リテラル、初期化子を使用した選択ステートメント、インライン変数などが導入されました。 |
C++ 20 | 2020 年 12 月にリリースされました。含まれるいくつかの新機能は次のとおりです。テストマクロの 3 者間比較、演算子<=>および演算子==()=デフォルト、新しい属性:[[no_unique_address]], [[likely]], [[unlikely]] |
C++ 標準コンパイラのバージョンを確認する
最新の C++ 標準が何であるかを知る必要がある場合があります。__cplusplus
マクロを使用して、このタイプの情報を取得できます。
値は規格によって異なります。
標準 | __cplusplus 出力 |
---|---|
C++ pre C++ 98 | 1 |
C++ 98 | 199711L |
C++ 98 + TR1 | これはチェックできません。これは C++98 としてマークされます。 |
C++ 11 | 201103L |
C++ 14 | 201402L |
C++ 17 | 201703L |
C++ バージョンをチェックするプログラム:
#include <iostream>
int main() {
if (__cplusplus == 201703L)
std::cout << "C++17" << endl;
else if (__cplusplus == 201402L)
std::cout << "C++14" << endl;
else if (__cplusplus == 201103L)
std::cout << "C++11" << endl;
else if (__cplusplus == 199711L)
std::cout << "C++98" << endl;
else
std::cout << "pre-standard C++" << endl;
}
出力:
C++98
このプログラムでは、C++ バージョンが上記の表に示されているそれぞれの出力と等しいかどうかを確認します。cplusplus
の結果が 199711L
だったので、C++98
を提供します。
まとめ
この記事では、C++ バージョンのチェックについて説明しました。C++ のバージョンについて詳しく学びました。
さらに、例を使用して C++ バージョンをチェックする概念について説明しました。C++ は、1983 年に C++ に名前が変更される前は、以前は C with classes
と呼ばれていました。
++
はプログラミングの多様性に 1 を追加することを意味するため、C++ は基本的に C より 1つ高い
に変換されます。