C++ 版本,它们的含义,如何更新它们

C++ versions, what they mean, how to update them

您使用的 c++ 版本是否与您拥有的编译器版本相关或 IDE? 如果不是其中任何一个,我如何在 IDE 上使用 c++ 11?如何更新我在程序中使用的 C++ 版本? 如何查看我使用的是哪个版本?

我知道打印 __cplusplus 变量可以告诉我我使用的是什么版本,但这并没有回答我的其他问题,也没有回答我的第三个问题,因为:

找到这个问题,答案包含一个过时的 link。 Visual Studio 2012 __cplusplus and C++ 11

您可以使用的 C++ 版本显然与您使用的编译器有关。如果您的编译器不支持某些较新的标准,那么您当然不能使用它。

至于IDE;有些 IDE 绑定到特定的编译器,有些可以使用不同的编译器。

有些编译器支持多种语言版本,但要求您明确启用比它们默认启用的更新的任何内容。例如;大多数旧版本的 GCC 都支持 C++17,但默认为 C++11 或 C++14,除非你告诉他们通过 -std=c++17 命令行选项启用 C++17 支持。