为了账号安全,请及时绑定邮箱和手机立即绑定

如何检查C ++ 11支持?

如何检查C ++ 11支持?

C++ C
潇湘沐 2019-08-02 15:58:05
如何检查C ++ 11支持?有没有办法在编译时检测编译器是否支持C ++ 11的某些功能?例如,像这样:#ifndef VARIADIC_TEMPLATES_SUPPORTED#error "Your compiler doesn't support variadic templates.  :("#elsetemplate <typename... DatatypeList>class Tuple{    // ...}#endif
查看完整描述

3 回答

?
UYOU

TA贡献1878条经验 获得超4个赞

Boost.Config许多宏可用于测试对特定C ++ 11功能的支持。


查看完整回答
反对 回复 2019-08-02
?
函数式编程

TA贡献1807条经验 获得超9个赞

C ++ 11标准(§iso.16.8)所述:

编译C ++转换单元时,名称__cplusplus被定义为值201103L

使用该宏的值,您可以检查编译器是否符合C ++ 11。

现在,如果您正在寻找一种标准方法来检查编译器是否支持C ++ 11功能的任何子集,我认为没有标准的,可移植的方式; 您可以检查编译器文档或std库头文件以获取更多信息。


查看完整回答
反对 回复 2019-08-02
  • 3 回答
  • 0 关注
  • 801 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信