如何检测编译时是否支持constexpr

时间:2015-08-26 06:58:57

标签: c++ visual-studio-2013 constexpr

我目前正在一个项目中,我们的目标是几个平台,我们的代码库是使用几个不同的编译器(gcc / clang / vc ++)构建的。

对于我们的Windows平台,我们使用VS2013,它目前不支持'constexpr',我想知道是否有办法检查是否支持此功能,除了检查我们是否在Windows中,并且编译器的版本是低于VS2015。

通过这种方式,我可以决定何时使用模板元编程扩展现有类型的编译时生成成员 - 仅在可用的情况下使用constexpr -

2 个答案:

答案 0 :(得分:3)

这是两个建议。 Boost.Config和这个python程序叫" cxx11tests" (github.com/sloede/cxx11tests)。运行它就像:

LinkPickerModel linkPicker = new LinkPickerModel(imageItem.GetPropertyValue<string>("linkPicker"));

对于Boost,您想要的宏是@linkPicker.Id @linkPicker.Name @linkPicker.Url @linkPicker.Target

答案 1 :(得分:0)

这是一个愚蠢的建议:只是尝试编译一个包含constexpr的小代码片段并检查是否有错误。