检查 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 高一个