g++ 10.2 显示 cpp 版本 14

g++ 10.2 shows cpp version 14

我是 cpp 初学者。

我有一个旧的 cpp,我不知道哪个版本。我运行下面查看版本

int main()
{
    if (__cplusplus == 201703L)
        std::cout << "C++17\n";
    else if (__cplusplus == 201402L)
        std::cout << "C++14\n";
    else if (__cplusplus == 201103L)
        std::cout << "C++11\n";
    else if (__cplusplus == 199711L)
        std::cout << "C++98\n";
    else
        std::cout << "pre-standard C++\n";

    return 0;
}

输出

c++14

在此之后,我尝试将 c++ 版本升级到最新的 c++ 20。我了解到每个编译器都支持 c++ 的所有不同部分。我下载了 mingw64 10.2 并添加了 PATH 个变量。

如果我 运行 g++ --version,它会正确显示 g++ version。但是上面的代码仍然打印出我正在使用 c++14.

我错过了什么?

您可以在 gcc 中使用命令行参数 -std 设置 C++ 标准。一些支持的标准是 -std=c++11-std=c++14-std=c++17-std=c++20