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
。
我是 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
。