编译器供应商已经采用零碎的C++ 11功能,这是可预测的,因为其中许多功能都不易实现.
报告编译器完全支持的规范的标准方法是通过__cplusplus预定义的宏.但是,主要供应商报告__cplusplus= 199711L,这意味着他们只是完全支持C++ 98(例如MSVC14).这(大概)意味着它们并不完全支持C++ 11规范,即使它们可能实现了大部分功能.
我想开始使用C++ 11功能,当它们可用时(并且当它们不可用时回退到现有代码).但是,我的代码必须支持许多编译器,包括我可能无法使用的专有编译器.是否有任何标准方法可以知道编译器可以使用哪些C++ 11功能,而不知道具体使用哪个编译器?(如果编译器以非标准方式运行,则检测行为可能不正确).
注意:这个问题是我的问题" static_assert c ++ 11的可用性 "的概括,这个问题并不是很受欢迎,因为我觉得我的动机被误解了.
| 归档时间: |
|
| 查看次数: |
732 次 |
| 最近记录: |