用于检查枚举类是否可用的简单宏
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用于检查枚举类是否可用的简单宏相关的知识,希望对你有一定的参考价值。
C ++中有很多feature test macros,它提供了一种简单易用的方法来检测C ++标准和实验性功能的存在。但是,我没有找到简单的宏来检查是否支持enum class
es。是否有更简单直接的方法来检查enum class
支持然后检查__cplusplus
宏的值?
答案
不幸的是,没有可移植的方式来检测这一点。
Boost有一个名为BOOST_NO_CXX11_SCOPED_ENUMS
的宏,所以如果你在项目中使用Boost,你可以使用该值。然而,他们在编译器/版本的基础上设置它 - 这背后没有聪明的编码技巧。
如果Boost不是您的选择,那么您至少可以看看他们是如何做的,并为您的目的复制部分代码,如果您有幸使用他们在此列出的编译器:
以上是关于用于检查枚举类是否可用的简单宏的主要内容,如果未能解决你的问题,请参考以下文章