如何在 g++ 中使用 C++ 20

How to use C++ 20 in g++

我正在尝试访问 std::popcount,但它似乎是 only there in C++ 20

当我尝试使用 g++ -std=c++20 main.cpp 进行编译时,它显示 g++: error: unrecognized command line option '-std=c++20'; did you mean '-std=c++03'

如何让 g++ 使用 c++ 20?

我正在使用 Ubuntu 18.04

我会尝试更新 gcc。在相当新的 gcc 版本 8 中引入了 C++ 20。

C++20 功能自 GCC 8 起可用。

要启用 C++20 支持,请添加命令行参数

-std=c++20

对于 G++ 9 及更高版本使用

-std=c++2a

或者,要启用除 C++20 功能之外的 GNU 扩展,添加

-std=gnu++20

如果这是一个选项,您可以更新到 Ubuntu 20.04 LTS,其中包括开箱即用的 GCC 版本 9。这将使您能够使用 C++ 20,从而 std::popcount

注意:在 GCC 9 及更早版本中使用 -std=c++2a