如何升级到 C++17?

blu*_*tic 4 c++ compiler-flags atom-editor c++17

我使用 Atom 作为我的 IDE,我当前__cplusplus = 201402是 C++14,我的编译器是g++ (GCC) 9.2.0

如何升级到 C++17 或 C++20?

我搜索的所有内容都涉及使用另一个 IDE(Microsoft Visual Studio)。

Jor*_*nar 8

您不会“升级”到较新的 C++ 标准。您可以将编译器升级到包含最新标准的更新版本。

截至今天,大多数编译器默认设置为 C++14。要更改它,您需要在编译期间传递额外的参数。

例如,要hello.cpp使用 GCC for C++17进行编译,您需要执行

g++ -std=c++17 hello.cpp
Run Code Online (Sandbox Code Playgroud)

您需要检查如何在您的 IDE(或编辑器)中传递编译器标志(或设置标准)。


我不熟悉 Atom,但我发现了这一点

在设置中,单击Packages,然后搜索gpp-compiler。您应该会看到一个设置按钮 - 单击它并编辑命令行选项以满足您的需要。


Roh*_*ari 7

自己做:

#include <iostream>

int main(void) {
    std::cout << __cplusplus;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

首先使用以下命令进行编译:

$ g++ -o main main.cpp && ./main
Run Code Online (Sandbox Code Playgroud)

此后:

g++ -o main main.cpp -std=c++17 && ./main
Run Code Online (Sandbox Code Playgroud)

您将会了解其中的差异。请注意,如果您无法使用-std=c++20flag,则显然意味着您的编译器不支持 C++20 标准。