C 程序员通常需要确定其编译器是否支持 C 11 的特定功能,以确保与其代码的兼容性。下面是如何实现这一点:
一些编译器提供了一个名为 __cplusplus 的常量,它指示支持的 C 标准版本。以下示例检查 C 11 支持:
#if __cplusplus利用 Boost 宏
另一个选项是使用 Boost 库中的宏,它提供了特定 C 11 功能的定义,例如如:
#ifndef BOOST_CXX11_VARIADIC_MACROS #error "Your compiler doesn't support variadic templates." #else templateclass Tuple { // ... } #endif
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3