檢查 C++ 版本

Anam Javed 2023年10月12日
  1. C++ 的版本
  2. 檢查 C++ 標準編譯器的版本
  3. まとめ
檢查 C++ 版本

本文將展示多年來的 C++ 版本,並討論檢查編譯器使用的 C++ 標準的版本。

C++ 程式語言由新澤西州貝爾電話實驗室的電腦科學家 Bjarne Stroustrup 設計和開發。他想要一種靈活且動態的語言,它與 C 的所有特性相似。

儘管如此,隨著主動型別檢查、基本繼承、預設功能引數等的附加性,C with Classes (C++) 已啟動。

C++ 的版本

C++ 的最新版本是 C++20。它是 C++17 的更新和更復雜的版本。

根據 2019 年的一項調查,C++ 仍然是繼 Java 和 C 之後第三大流行的程式語言。所有功勞都歸功於 C++11 版本,使其更加健壯、更安全、更易於訪問、更直接和更具表現力。

歷年釋出的各種 C++ 版本如下:

C++ 版本 描述
C++98 (ISO/IEC 14882:1998) C++ 的第一個版本於 1998 年 10 月釋出。
C++03 (ISO/IEC 14882:2003) 在這個版本的 C++ 中,值初始化是在 2003 年 2 月引入的。
C++11 它於 2011 年 8 月釋出。這個 C++ 修訂版引入了 Lambda 表示式、委託建構函式、統一初始化語法、自動型別推導、nullptrdecltype、Rvalue References 等。
C++14 它於 2014 年 8 月釋出。此版本中新增的功能包括多型 lambda、數字分隔符、通用 lambda 捕獲、變數模板、二進位制整數文字、引用字串等。
C++17 它於 2017 年 12 月釋出。它引入了摺疊表示式、十六進位制浮點文字、u8 字元文字、帶有初始化程式的選擇語句、內聯變數等。
C++20 它於 2020 年 12 月釋出。包括的一些新功能包括:測試巨集 3 路比較、運算子 <=> 和運算子==() = 預設值、新屬性:[[no_unique_address]]、[[likely]]、[ [不太可能]]

檢查 C++ 標準編譯器的版本

我們偶爾需要知道最新的 C++ 標準是什麼。我們可以使用 __cplusplus 巨集來獲取此類資訊。

該值將根據標準而有所不同。

標準 __cplusplus 輸出
C++ 前 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++ 版本是否等於上表中給出的相應輸出。它提供了 C++98,因為 cplusplus 的結果是 199711L

まとめ

在本文中,我們討論了 C++ 版本的檢查。我們詳細瞭解了 C++ 的版本。

此外,我們還通過示例討論了檢查 C++ 版本的概念。在 1983 年更名為 C++ 之前,C++ 以前稱為 C with classes

因為++ 是在程式設計中為多樣性加一的縮寫,所以 C++ 本質上翻譯為比 C 高一個