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

46 c++ g++ c++20

我正在尝试访问std::popcount,但似乎它只存在于 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

Ton*_*ker 62

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

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

-std=c++20

适用于 G++ 9 及更早版本

-std=c++2a

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

-std=gnu++20

  • “对于 G++ 9 及更高版本”应为“对于 G++ 9 及更早版本”。 (8认同)

小智 15

我会尝试更新 gcc。C++ 20 是在 gcc 版本 8 中引入的,这是一个相当新的版本。


Yva*_*son 7

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

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