c++ - 如何在 Microsoft Visual Studio 2017 中检查 C++ 版本

标签 c++ visual-studio visual-c++

我正在尝试使用以下代码检查我拥有的 c++ 版本。

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";

输出是 C++98 版本,但我绝对能够使用 C++11 功能,所以我想我没有从代码中获得正确的版本。

如何检查我使用的是哪个版本的 C++?

最佳答案

来自 https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/

You need to compile with the /Zc:__cplusplus switch to see the updated value of the __cplusplus macro.



请注意,这是在 MSVC 2017(版本 15.7 Preview 3)中添加的,它在旧版本中不可用。

关于c++ - 如何在 Microsoft Visual Studio 2017 中检查 C++ 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60052108/

相关文章:

c++ - 写网络使用程序应该用什么API?

c++ - Linux 多线程将涉及 pthreads 库(在大多数情况下)。 MSVC 使用的等效库是什么?

c++ - 需要帮助解决三个 visual studio 错误 - 尝试构建解决方案时出现 C++ 错误

c++ - 如何在 _T 包装器中使用变量?

C++11 Variadic Templates : 3. .n int's separated into first, middle, last

C++接受带参数的命令行参数

c++ - 当输入在带有空格的单行中给出时,cin 在 while 循环中如何工作?

c++ - 为什么我会使用 push_back 而不是 emplace_back?

visual-studio - Vim 中缺少哪些最重要的 IDE 功能?

visual-studio-2010 - Visual Studio - "The application was unable to start correctly"