首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查C++20支持?针对C++20的__cplusplus的价值是什么?

如何检查C++20支持?针对C++20的__cplusplus的价值是什么?
EN

Stack Overflow用户
提问于 2018-11-30 20:30:02
回答 2查看 11.8K关注 0票数 49

与问题How do I check for C++11 support?What is the value of __cplusplus for C++17?相关

如何查询编译器是否可以处理/是否设置为使用C++20?我知道原则上可以通过以下方式查询C++版本:

代码语言:javascript
复制
#if __cplusplus > ???
  // C++20 code here
#endif

对于C++20,???应该是什么?

EN

回答 2

Stack Overflow用户

发布于 2018-11-30 20:48:25

正如您在[cpp.predefined]p1.1中看到的那样,C++20的值为202002L

_­_­cplusplus

整型文字202002L。注意:此国际标准的未来版本将用更大的值替换此宏的值。-结束注释

因此,对于已经实现新标准的编译器,您可以通过以下方式进行检查:

代码语言:javascript
复制
#if __cplusplus >= 202002L
    // C++20 (and later) code
#endif

这是目前为止对编译器的支持:

>= No (version >= >= 2021定义了202000L;请注意

票数 35
EN

Stack Overflow用户

发布于 2018-11-30 20:46:54

由于C++20仍在开发中,目前还没有已知的__cplusplus版本。只有C++20的草案。

latest draft N4788仍然包含:

__cplusplus

整型文字201703L。注意:此国际标准的未来版本将用更大的值替换此宏的值。-end笔记

至于检查,我会使用@gsamaras回答。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53557649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档