如何检查C ++ 11支持?有没有办法在编译时检测编译器是否支持C ++ 11的某些功能?例如,像这样:#ifndef VARIADIC_TEMPLATES_SUPPORTED#error "Your compiler doesn't support variadic templates. :("#elsetemplate <typename... DatatypeList>class Tuple{ // ...}#endif
3 回答
函数式编程
TA贡献1807条经验 获得超9个赞
如C ++ 11标准(§iso.16.8)所述:
编译C ++转换单元时,名称__cplusplus被定义为值201103L。
使用该宏的值,您可以检查编译器是否符合C ++ 11。
现在,如果您正在寻找一种标准方法来检查编译器是否支持C ++ 11功能的任何子集,我认为没有标准的,可移植的方式; 您可以检查编译器文档或std库头文件以获取更多信息。
- 3 回答
- 0 关注
- 801 浏览
添加回答
举报
0/150
提交
取消